Bagikan melalui


PerformanceCounterCategory.Create Metode

Definisi

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 NumberOfItems32 di komputer lokal.

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)

Sumber:
PerformanceCounterCategory.cs
Sumber:
PerformanceCounterCategory.cs
Sumber:
PerformanceCounterCategory.cs

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.

categoryNameadalah null.

-atau-

counterHelpadalah null.

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)

Sumber:
PerformanceCounterCategory.cs
Sumber:
PerformanceCounterCategory.cs
Sumber:
PerformanceCounterCategory.cs

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.

categoryNameadalah null.

-atau-

counterHelpadalah null.

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)

Sumber:
PerformanceCounterCategory.cs
Sumber:
PerformanceCounterCategory.cs
Sumber:
PerformanceCounterCategory.cs

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, , AverageTimer32CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction, SampleFraction atau SampleCounter harus segera diikuti oleh salah satu jenis penghitung dasar (AverageBase, , RawBaseMultiBase, 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)

Sumber:
PerformanceCounterCategory.cs
Sumber:
PerformanceCounterCategory.cs
Sumber:
PerformanceCounterCategory.cs

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.

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.

categoryNameadalah null.

-atau-

counterDataadalah null.

categoryType nilai berada di luar rentang nilai berikut: MultiInstance, , SingleInstanceatau Unknown.

Kategori sudah ada pada komputer lokal.

-atau-

Tata letak counterData koleksi salah untuk penghitung dasar. Penghitung jenis AverageCount64, , CounterMultiTimerAverageTimer32, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction, SampleFraction, atau SampleCounter harus segera diikuti oleh salah satu jenis penghitung dasar (AverageBase, , MultiBase, RawBaseatau 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.

Lihat juga

Berlaku untuk