PerformanceCounterCategory.Create Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendaftarkan kategori penghitung kinerja kustom dan satu atau beberapa penghitung dengan sistem.
Overload
Create(String, String, String, String) |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Mendaftarkan kategori penghitung kinerja kustom yang berisi satu penghitung jenis |
Create(String, String, PerformanceCounterCategoryType, String, String) |
Mendaftarkan kategori penghitung kinerja kustom yang berisi satu penghitung jenis NumberOfItems32 di komputer lokal. |
Create(String, String, CounterCreationDataCollection) |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Mendaftarkan kategori penghitung kinerja kustom yang berisi penghitung yang ditentukan di komputer lokal. |
Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) |
Mendaftarkan kategori penghitung kinerja kustom yang berisi penghitung yang ditentukan di komputer lokal. |
Create(String, String, String, String)
Perhatian
This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. http://go.microsoft.com/fwlink/?linkid=14202
Perhatian
This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. https://go.microsoft.com/fwlink/?linkid=14202
Perhatian
This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.
Mendaftarkan kategori penghitung kinerja kustom yang berisi satu penghitung jenis NumberOfItems32
di komputer lokal.
public:
static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::String ^ counterName, System::String ^ counterHelp);
[System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, string counterName, string counterHelp);
[System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, string counterName, string counterHelp);
[System.Obsolete("This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.")]
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, string counterName, string counterHelp);
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, string counterName, string counterHelp);
[<System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
[<System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
[<System.Obsolete("This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.")>]
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, counterName As String, counterHelp As String) As PerformanceCounterCategory
Parameter
- categoryName
- String
Nama kategori penghitung kinerja kustom untuk membuat dan mendaftar dengan sistem.
- categoryHelp
- String
Deskripsi kategori kustom.
- counterName
- String
Nama penghitung baru, dari jenis NumberOfItems32
, untuk dibuat sebagai bagian dari kategori baru.
- counterHelp
- String
Deskripsi penghitung yang terkait dengan kategori kustom baru.
Mengembalikan
PerformanceCounterCategory yang terkait dengan kategori sistem baru, atau objek performa.
- Atribut
Pengecualian
counterName
adalah null
atau adalah string kosong ("").
-atau-
Penghitung yang ditentukan oleh counterName
sudah ada.
-atau-
counterName
memiliki sintaks yang tidak valid. Ini mungkin berisi karakter garis miring terbelakang ("\") atau memiliki panjang lebih dari 80 karakter.
Kategori sudah ada di komputer lokal.
Panggilan ke API sistem yang mendasar gagal.
Kode yang dijalankan tanpa hak administratif mencoba membaca penghitung kinerja.
Contoh
Contoh kode berikut membuat PerformanceCounterCategory satu dan PerformanceCounter dengan teks bantuan untuk masing-masing, menggunakan Create(String, String, String, String) metode .
public static void Main(string[] args)
{
string categoryName = "";
string counterName = "";
string categoryHelp = "";
string counterHelp = "";
PerformanceCounterCategory pcc;
// Copy the supplied arguments into the local variables.
try
{
categoryName = args[0];
counterName = args[1];
categoryHelp = args[2];
counterHelp = args[3];
}
catch(Exception ex)
{
// Ignore the exception from non-supplied arguments.
}
Console.WriteLine("Category name: \"{0}\"", categoryName);
Console.WriteLine("Category help: \"{0}\"", categoryHelp);
Console.WriteLine("Counter name: \"{0}\"", counterName);
Console.WriteLine("Counter help: \"{0}\"", counterHelp);
// Use the Create overload that creates a single counter.
try
{
pcc = PerformanceCounterCategory.Create(categoryName, categoryHelp, counterName, counterHelp);
Console.WriteLine("Category \"{0}\" created.", pcc.CategoryName);
}
catch(Exception ex)
{
Console.WriteLine("Unable to create the above category and counter:" + "\n" + ex.Message);
}
}
Sub Main(ByVal args() As String)
Dim categoryName As String = ""
Dim counterName As String = ""
Dim categoryHelp As String = ""
Dim counterHelp As String = ""
Dim pcc As PerformanceCounterCategory
' Copy the supplied arguments into the local variables.
Try
categoryName = args(0)
counterName = args(1)
categoryHelp = args(2)
counterHelp = args(3)
Catch ex As Exception
' Ignore the exception from non-supplied arguments.
End Try
Console.WriteLine("Category name: ""{0}""", categoryName)
Console.WriteLine("Category help: ""{0}""", categoryHelp)
Console.WriteLine("Counter name: ""{0}""", counterName)
Console.WriteLine("Counter help: ""{0}""", counterHelp)
' Use the Create overload that creates a single counter.
Try
pcc = PerformanceCounterCategory.Create( _
categoryName, categoryHelp, counterName, counterHelp)
Console.WriteLine("Category ""{0}"" created.", pcc.CategoryName)
Catch ex As Exception
Console.WriteLine( _
"Unable to create the above category and counter:" & _
vbCrLf & ex.Message)
End Try
End Sub
Keterangan
Catatan
Untuk membaca penghitung kinerja dari sesi masuk non-interaktif di Windows Vista dan yang lebih baru, Windows XP Professional x64 Edition, atau Windows Server 2003, Anda harus menjadi anggota grup Pengguna Monitor Performa atau memiliki hak administratif.
Untuk menghindari harus meningkatkan hak istimewa Anda untuk mengakses penghitung kinerja di Windows Vista dan yang lebih baru, tambahkan diri Anda ke grup Pengguna Monitor Performa.
Di Windows Vista dan yang lebih baru, Kontrol Akun Pengguna (User Account Control atau UAC) menentukan hak istimewa pengguna. Jika Anda adalah anggota grup Administrator Bawaan, Anda diberi dua token akses run-time: token akses pengguna standar dan token akses administrator. Secara default, Anda berada dalam peran pengguna standar. Untuk menjalankan kode yang mengakses penghitung kinerja, Anda harus terlebih dahulu meningkatkan hak istimewa Anda dari pengguna standar ke administrator. Anda dapat melakukan ini saat memulai aplikasi dengan mengeklik kanan ikon aplikasi dan menunjukkan bahwa Anda ingin menjalankan sebagai administrator.
Lihat juga
Berlaku untuk
Create(String, String, PerformanceCounterCategoryType, String, String)
Mendaftarkan kategori penghitung kinerja kustom yang berisi satu penghitung jenis NumberOfItems32 di komputer lokal.
public:
static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::PerformanceCounterCategoryType categoryType, System::String ^ counterName, System::String ^ counterHelp);
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.PerformanceCounterCategoryType categoryType, string counterName, string counterHelp);
static member Create : string * string * System.Diagnostics.PerformanceCounterCategoryType * string * string -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, categoryType As PerformanceCounterCategoryType, counterName As String, counterHelp As String) As PerformanceCounterCategory
Parameter
- categoryName
- String
Nama kategori penghitung kinerja kustom untuk membuat dan mendaftar dengan sistem.
- categoryHelp
- String
Deskripsi kategori kustom.
- categoryType
- PerformanceCounterCategoryType
Salah satu nilai yang PerformanceCounterCategoryType menentukan apakah kategorinya adalah MultiInstance, , SingleInstanceatau Unknown.
- counterName
- String
Nama penghitung baru untuk dibuat sebagai bagian dari kategori baru.
- counterHelp
- String
Deskripsi penghitung yang terkait dengan kategori kustom baru.
Mengembalikan
PerformanceCounterCategory yang terkait dengan kategori sistem baru, atau objek performa.
Pengecualian
counterName
adalah null
atau adalah string kosong ("").
-atau-
Penghitung yang ditentukan oleh counterName
sudah ada.
-atau-
counterName
memiliki sintaks yang tidak valid. Ini mungkin berisi karakter garis miring terbelakang ("\") atau memiliki panjang lebih dari 80 karakter.
Kategori sudah ada di komputer lokal.
Panggilan ke API sistem yang mendasar gagal.
Kode yang dijalankan tanpa hak administratif mencoba membaca penghitung kinerja.
Contoh
Contoh kode berikut menunjukkan penggunaan Create metode . Contoh menunjukkan cara membuat kategori penghitung kinerja instans tunggal kustom.
Console.WriteLine("Creating Inventory custom counter");
if (!PerformanceCounterCategory.Exists("Inventory"))
PerformanceCounterCategory.Create("Inventory",
"Truck inventory",
PerformanceCounterCategoryType.SingleInstance,
"Trucks", "Number of trucks on hand");
Console.WriteLine("Creating Inventory custom counter")
If Not PerformanceCounterCategory.Exists("Inventory") Then
PerformanceCounterCategory.Create("Inventory", "Truck inventory", PerformanceCounterCategoryType.SingleInstance, "Trucks", "Number of trucks on hand")
End If
Keterangan
Parameter categoryType
menentukan apakah kategori penghitung kinerja adalah instans tunggal atau multi-instans. Secara default, kategori adalah instans tunggal saat dibuat dan menjadi multi-instans saat instans lain ditambahkan. Kategori dibuat saat aplikasi disiapkan, dan instans ditambahkan pada durasi. Dalam versi .NET Framework 1.0 dan 1.1, tidak perlu mengetahui apakah kategori penghitung kinerja adalah multi-instans atau instans tunggal. Dalam .NET Framework 2.0, PerformanceCounterCategoryType enumerasi digunakan untuk menunjukkan apakah penghitung kinerja dapat memiliki beberapa instans.
Kategori penghitung kinerja yang diinstal dengan .NET Framework 2.0 menggunakan memori bersama terpisah, dengan setiap kategori penghitung kinerja memiliki memorinya sendiri. Anda dapat menentukan ukuran memori bersama terpisah dengan membuat DWORD bernama FileMappingSize di kunci registri HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nama> kategori\Performa. Nilai FileMappingSize diatur ke ukuran memori bersama kategori. Ukuran defaultnya adalah 131072 desimal. Jika nilai FileMappingSize tidak ada, fileMappingSize
nilai atribut untuk performanceCounters
elemen yang ditentukan dalam file Machine.config digunakan, menyebabkan overhead tambahan untuk pemrosesan file konfigurasi. Anda dapat mewujudkan peningkatan performa untuk startup aplikasi dengan mengatur ukuran pemetaan file di registri.
Catatan
Sangat disarankan agar kategori penghitung kinerja baru dibuat selama penginstalan aplikasi, bukan selama eksekusi aplikasi. Ini memungkinkan waktu bagi sistem operasi untuk me-refresh daftar kategori penghitung kinerja terdaftar. Jika daftar belum disegarkan, upaya untuk menggunakan kategori akan gagal.
Catatan
Untuk membaca penghitung kinerja dari sesi masuk non-interaktif di Windows Vista dan yang lebih baru, Windows XP Professional x64 Edition, atau Windows Server 2003, Anda harus menjadi anggota grup Pengguna Monitor Performa atau memiliki hak administratif.
Untuk menghindari harus meningkatkan hak istimewa Anda untuk mengakses penghitung kinerja di Windows Vista dan yang lebih baru, tambahkan diri Anda ke grup Pengguna Monitor Performa.
Di Windows Vista dan yang lebih baru, Kontrol Akun Pengguna (User Account Control atau UAC) menentukan hak istimewa pengguna. Jika Anda adalah anggota grup Administrator Bawaan, Anda diberi dua token akses run-time: token akses pengguna standar dan token akses administrator. Secara default, Anda berada dalam peran pengguna standar. Untuk menjalankan kode yang mengakses penghitung kinerja, Anda harus terlebih dahulu meningkatkan hak istimewa Anda dari pengguna standar ke administrator. Anda dapat melakukan ini saat memulai aplikasi dengan mengeklik kanan ikon aplikasi dan menunjukkan bahwa Anda ingin menjalankan sebagai administrator.
Lihat juga
Berlaku untuk
Create(String, String, CounterCreationDataCollection)
Perhatian
This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. http://go.microsoft.com/fwlink/?linkid=14202
Perhatian
This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Perhatian
This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.
Mendaftarkan kategori penghitung kinerja kustom yang berisi penghitung yang ditentukan di komputer lokal.
public:
static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::CounterCreationDataCollection ^ counterData);
[System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
[System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
[System.Obsolete("This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.")]
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
[<System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
[<System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
[<System.Obsolete("This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.")>]
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, counterData As CounterCreationDataCollection) As PerformanceCounterCategory
Parameter
- categoryName
- String
Nama kategori penghitung kinerja kustom untuk membuat dan mendaftar dengan sistem.
- categoryHelp
- String
Deskripsi kategori kustom.
- counterData
- CounterCreationDataCollection
CounterCreationDataCollection yang menentukan penghitung yang akan dibuat sebagai bagian dari kategori baru.
Mengembalikan
PerformanceCounterCategory yang terkait dengan kategori kustom baru, atau objek performa.
- Atribut
Pengecualian
Nama penghitung yang ditentukan dalam counterData
koleksi adalah null
atau string kosong ("").
-atau-
Penghitung yang ditentukan dalam counterData
koleksi sudah ada.
-atau-
Parameter counterName
memiliki sintaks yang tidak valid. Ini mungkin berisi karakter garis miring terbelakang ("\") atau memiliki panjang lebih dari 80 karakter.
Parameternya categoryName
adalah null
.
Kategori sudah ada di komputer lokal.
-atau-
Tata letak counterData
koleksi salah untuk penghitung dasar. Penghitung jenis AverageCount64
, , AverageTimer32
CounterMultiTimer
, CounterMultiTimerInverse
, CounterMultiTimer100Ns
, CounterMultiTimer100NsInverse
, RawFraction
, SampleFraction
atau SampleCounter
harus segera diikuti oleh salah satu jenis penghitung dasar (AverageBase
, , RawBase
MultiBase
, atau SampleBase
).
Panggilan ke API sistem yang mendasar gagal.
Kode yang dijalankan tanpa hak administratif mencoba membaca penghitung kinerja.
Contoh
Contoh kode berikut menentukan apakah objek PerformanceCounterCategory bernama "orders" ada. Jika tidak, objek akan dibuat PerformanceCounterCategory dengan menggunakan CounterCreationDataCollection objek yang berisi dua penghitung kinerja.
if ( !PerformanceCounterCategory::Exists( "Orders" ) )
{
CounterCreationData^ milk = gcnew CounterCreationData;
milk->CounterName = "milk";
milk->CounterType = PerformanceCounterType::NumberOfItems32;
CounterCreationData^ milkPerSecond = gcnew CounterCreationData;
milkPerSecond->CounterName = "milk orders/second";
milkPerSecond->CounterType = PerformanceCounterType::RateOfCountsPerSecond32;
CounterCreationDataCollection^ ccds = gcnew CounterCreationDataCollection;
ccds->Add( milkPerSecond );
ccds->Add( milk );
PerformanceCounterCategory::Create( "Orders", "Number of processed orders", ccds );
}
if (!PerformanceCounterCategory.Exists("Orders"))
{
CounterCreationData milk = new CounterCreationData();
milk.CounterName = "milk";
milk.CounterType = PerformanceCounterType.NumberOfItems32;
CounterCreationData milkPerSecond = new CounterCreationData();
milkPerSecond.CounterName = "milk orders/second";
milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32;
CounterCreationDataCollection ccds = new CounterCreationDataCollection();
ccds.Add(milkPerSecond);
ccds.Add(milk);
PerformanceCounterCategory.Create("Orders", "Number of processed orders",
PerformanceCounterCategoryType.SingleInstance, ccds);
}
If Not PerformanceCounterCategory.Exists("Orders") Then
Dim milk As New CounterCreationData()
milk.CounterName = "milk"
milk.CounterType = PerformanceCounterType.NumberOfItems32
Dim milkPerSecond As New CounterCreationData()
milkPerSecond.CounterName = "milk orders/second"
milkPerSecond.CounterType = PerformanceCounterType.RateOfCountsPerSecond32
Dim ccds As New CounterCreationDataCollection()
ccds.Add(milkPerSecond)
ccds.Add(milk)
PerformanceCounterCategory.Create("Orders", "Number of processed orders", _
PerformanceCounterCategoryType.SingleInstance, ccds)
End If
Keterangan
Catatan
Untuk membaca penghitung kinerja dari sesi masuk non-interaktif di Windows Vista dan yang lebih baru, Windows XP Professional x64 Edition, atau Windows Server 2003, Anda harus menjadi anggota grup Pengguna Monitor Performa atau memiliki hak administratif.
Untuk menghindari keharusan meningkatkan hak istimewa Anda untuk mengakses penghitung kinerja di Windows Vista dan yang lebih baru, tambahkan diri Anda ke grup Pengguna Monitor Performa.
Di Windows Vista dan yang lebih baru, Kontrol Akun Pengguna (User Account Control atau UAC) menentukan hak istimewa pengguna. Jika Anda adalah anggota grup Administrator Bawaan, Anda diberi dua token akses run-time: token akses pengguna standar dan token akses administrator. Secara default, Anda berada dalam peran pengguna standar. Untuk menjalankan kode yang mengakses penghitung kinerja, Anda harus terlebih dahulu meningkatkan hak istimewa Anda dari pengguna standar ke administrator. Anda dapat melakukan ini saat memulai aplikasi dengan mengeklik kanan ikon aplikasi dan menunjukkan bahwa Anda ingin menjalankan sebagai administrator.
Lihat juga
Berlaku untuk
Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)
Mendaftarkan kategori penghitung kinerja kustom yang berisi penghitung yang ditentukan di komputer lokal.
public:
static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::PerformanceCounterCategoryType categoryType, System::Diagnostics::CounterCreationDataCollection ^ counterData);
public static System.Diagnostics.PerformanceCounterCategory Create (string categoryName, string categoryHelp, System.Diagnostics.PerformanceCounterCategoryType categoryType, System.Diagnostics.CounterCreationDataCollection counterData);
static member Create : string * string * System.Diagnostics.PerformanceCounterCategoryType * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, categoryType As PerformanceCounterCategoryType, counterData As CounterCreationDataCollection) As PerformanceCounterCategory
Parameter
- categoryName
- String
Nama kategori penghitung kinerja kustom untuk membuat dan mendaftar dengan sistem.
- categoryHelp
- String
Deskripsi kategori kustom.
- categoryType
- PerformanceCounterCategoryType
Salah PerformanceCounterCategoryType satu nilai.
- counterData
- CounterCreationDataCollection
CounterCreationDataCollection yang menentukan penghitung yang akan dibuat sebagai bagian dari kategori baru.
Mengembalikan
PerformanceCounterCategory yang terkait dengan kategori kustom baru, atau objek performa.
Pengecualian
Nama penghitung yang ditentukan dalam counterData
koleksi adalah null
atau string kosong ("").
-atau-
Penghitung yang ditentukan dalam counterData
koleksi sudah ada.
-atau-
counterName
memiliki sintaks yang tidak valid. Ini mungkin berisi karakter garis miring terbelakang ("\") atau memiliki panjang lebih dari 80 karakter.
categoryType
nilai berada di luar rentang nilai berikut: MultiInstance
, , SingleInstance
atau Unknown
.
Kategori sudah ada pada komputer lokal.
-atau-
Tata letak counterData
koleksi salah untuk penghitung dasar. Penghitung jenis AverageCount64
, , CounterMultiTimer
AverageTimer32
, CounterMultiTimerInverse
, CounterMultiTimer100Ns
, CounterMultiTimer100NsInverse
, RawFraction
, SampleFraction
, atau SampleCounter
harus segera diikuti oleh salah satu jenis penghitung dasar (AverageBase
, , MultiBase
, RawBase
atau SampleBase
).
Panggilan ke API sistem yang mendasar gagal.
Kode yang dijalankan tanpa hak istimewa administratif mencoba membaca penghitung kinerja.
Contoh
Contoh kode berikut menunjukkan penggunaan Create metode . Contoh menunjukkan cara membuat kategori penghitung kinerja multi-instans kustom untuk jumlah pesanan per detik.
CounterCreationData data1 = new CounterCreationData("Trucks",
"Number of orders", PerformanceCounterType.NumberOfItems32);
CounterCreationData data2 = new CounterCreationData("Rate of sales",
"Orders/second", PerformanceCounterType.RateOfCountsPerSecond32);
CounterCreationDataCollection ccds = new CounterCreationDataCollection();
ccds.Add(data1);
ccds.Add(data2);
Console.WriteLine("Creating Orders custom counter.");
if (!PerformanceCounterCategory.Exists("Orders"))
PerformanceCounterCategory.Create("Orders",
"Processed orders",
PerformanceCounterCategoryType.MultiInstance,
ccds);
Dim data1 As New CounterCreationData("Trucks", "Number of orders", PerformanceCounterType.NumberOfItems32)
Dim data2 As New CounterCreationData("Rate of sales", "Orders/second", PerformanceCounterType.RateOfCountsPerSecond32)
Dim ccds As New CounterCreationDataCollection()
ccds.Add(data1)
ccds.Add(data2)
Console.WriteLine("Creating Orders custom counter.")
If Not PerformanceCounterCategory.Exists("Orders") Then
PerformanceCounterCategory.Create("Orders", "Processed orders", PerformanceCounterCategoryType.MultiInstance, ccds)
End If
Keterangan
Parameter categoryType
menentukan apakah kategori penghitung kinerja adalah instans tunggal atau multi-instans. Secara default, kategori adalah instans tunggal saat dibuat dan menjadi multi-instans saat instans lain ditambahkan. Kategori dibuat saat aplikasi disiapkan, dan instans ditambahkan pada durasi. Dalam .NET Framework versi 1.0 dan 1.1, tidak perlu mengetahui apakah kategori penghitung kinerja adalah multi-instans atau instans tunggal. Dalam .NET Framework 2.0, PerformanceCounterCategoryType enumerasi digunakan untuk menunjukkan apakah penghitung kinerja dapat memiliki beberapa instans.
Kategori penghitung kinerja yang diinstal dengan .NET Framework 2.0 menggunakan memori bersama terpisah, dengan setiap kategori penghitung kinerja memiliki memorinya sendiri. Anda dapat menentukan ukuran memori bersama terpisah dengan membuat DWORD bernama FileMappingSize di kunci registri HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nama> kategori\Performa. Nilai FileMappingSize diatur ke ukuran memori bersama kategori. Ukuran defaultnya adalah 131072 desimal. Jika nilai FileMappingSize tidak ada, fileMappingSize
nilai atribut untuk performanceCounters
elemen yang ditentukan dalam file Machine.config digunakan, menyebabkan overhead tambahan untuk pemrosesan file konfigurasi. Anda dapat mewujudkan peningkatan performa untuk startup aplikasi dengan mengatur ukuran pemetaan file di registri.
Catatan
Sangat disarankan agar kategori penghitung kinerja baru dibuat selama penginstalan aplikasi, bukan selama eksekusi aplikasi. Ini memungkinkan waktu bagi sistem operasi untuk me-refresh daftar kategori penghitung kinerja terdaftar. Jika daftar belum disegarkan, upaya untuk menggunakan kategori akan gagal.
Catatan
Untuk membaca penghitung kinerja dari sesi masuk non-interaktif di Windows Vista dan yang lebih baru, Windows XP Professional x64 Edition, atau Windows Server 2003, Anda harus menjadi anggota grup Pengguna Monitor Performa atau memiliki hak administratif.
Untuk menghindari keharusan meningkatkan hak istimewa Anda untuk mengakses penghitung kinerja di Windows Vista dan yang lebih baru, tambahkan diri Anda ke grup Pengguna Monitor Performa.
Di Windows Vista dan yang lebih baru, Kontrol Akun Pengguna (User Account Control atau UAC) menentukan hak istimewa pengguna. Jika Anda adalah anggota grup Administrator Bawaan, Anda diberi dua token akses run-time: token akses pengguna standar dan token akses administrator. Secara default, Anda berada dalam peran pengguna standar. Untuk menjalankan kode yang mengakses penghitung kinerja, Anda harus terlebih dahulu meningkatkan hak istimewa Anda dari pengguna standar ke administrator. Anda dapat melakukan ini saat memulai aplikasi dengan mengeklik kanan ikon aplikasi dan menunjukkan bahwa Anda ingin menjalankan sebagai administrator.