PerformanceCounterCategory.Create Yöntem

Tanım

Özel performans sayacı kategorisini ve bir veya daha fazla sayacı sisteme kaydeder.

Aşırı Yüklemeler

Create(String, String, String, String)
Geçersiz.
Geçersiz.
Geçersiz.

Yerel bilgisayarda tek bir sayaç türü NumberOfItems32 içeren özel performans sayacı kategorisini kaydeder.

Create(String, String, PerformanceCounterCategoryType, String, String)

Yerel bilgisayarda türünde tek bir sayaç içeren özel performans sayacı NumberOfItems32 kategorisini kaydeder.

Create(String, String, CounterCreationDataCollection)
Geçersiz.
Geçersiz.
Geçersiz.

Yerel bilgisayarda belirtilen sayaçları içeren özel performans sayacı kategorisini kaydeder.

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

Yerel bilgisayarda belirtilen sayaçları içeren özel performans sayacı kategorisini kaydeder.

Create(String, String, String, String)

Kaynak:
PerformanceCounterCategory.cs
Kaynak:
PerformanceCounterCategory.cs
Kaynak:
PerformanceCounterCategory.cs

Dikkat

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

Dikkat

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

Dikkat

This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.

Yerel bilgisayarda tek bir sayaç türü NumberOfItems32 içeren özel performans sayacı kategorisini kaydeder.

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

Parametreler

categoryName
String

Oluşturulacak ve sisteme kaydedilecek özel performans sayacı kategorisinin adı.

categoryHelp
String

Özel kategorinin açıklaması.

counterName
String

Yeni kategorinin parçası olarak oluşturulacak türündeki NumberOfItems32yeni bir sayacın adı.

counterHelp
String

Yeni özel kategoriyle ilişkili sayacın açıklaması.

Döndürülenler

PerformanceCounterCategory Yeni sistem kategorisi veya performans nesnesiyle ilişkili bir.

Öznitelikler

Özel durumlar

counterName veya null boş bir dizedir ("").

-veya-

tarafından counterName belirtilen sayaç zaten var.

-veya-

counterName geçersiz söz dizimi içeriyor. Ters eğik çizgi karakterleri ("\") içerebilir veya uzunluğu 80 karakterden büyük olabilir.

Kategori yerel bilgisayarda zaten var.

categoryName, null değeridir.

-veya-

counterHelp, null değeridir.

Temel alınan sistem API'sine yapılan çağrı başarısız oldu.

Yönetici ayrıcalıkları olmadan yürütülen kod bir performans sayacını okumaya çalıştı.

Örnekler

Aşağıdaki kod örneği, yöntemini kullanarak Create(String, String, String, String) her biri için yardım metni içeren bir PerformanceCounterCategory ve tek PerformanceCounter oluşturur.

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

Açıklamalar

Not

Windows Vista ve sonraki sürümlerde, Windows XP Professional x64 Edition'da veya Windows Server 2003'te etkileşimli olmayan bir oturumdan performans sayaçlarını okumak için, Performans İzleyicisi Kullanıcıları grubunun üyesi olmanız veya yönetici ayrıcalıklarına sahip olmanız gerekir.

Windows Vista ve sonraki sürümlerde performans sayaçlarına erişmek için ayrıcalıklarınızı yükseltmek zorunda kalmamak için kendinizi Performans İzleyicisi Kullanıcıları grubuna ekleyin.

Windows Vista ve sonraki sürümlerde, Kullanıcı Hesabı Denetimi (UAC) bir kullanıcının ayrıcalıkları belirler. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolünde olursunuz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Bir uygulamayı başlattığınızda, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek bunu yapabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

Create(String, String, PerformanceCounterCategoryType, String, String)

Kaynak:
PerformanceCounterCategory.cs
Kaynak:
PerformanceCounterCategory.cs
Kaynak:
PerformanceCounterCategory.cs

Yerel bilgisayarda türünde tek bir sayaç içeren özel performans sayacı NumberOfItems32 kategorisini kaydeder.

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

Parametreler

categoryName
String

Oluşturulacak ve sisteme kaydedilecek özel performans sayacı kategorisinin adı.

categoryHelp
String

Özel kategorinin açıklaması.

categoryType
PerformanceCounterCategoryType

Kategorinin PerformanceCounterCategoryTypeMultiInstance, SingleInstanceveya Unknownolup olmadığını belirten değerlerden biri.

counterName
String

Yeni kategorinin bir parçası olarak oluşturulacak yeni sayacın adı.

counterHelp
String

Yeni özel kategoriyle ilişkili sayacın açıklaması.

Döndürülenler

PerformanceCounterCategory Yeni sistem kategorisi veya performans nesnesiyle ilişkili bir.

Özel durumlar

counterName veya null boş bir dizedir ("").

-veya-

tarafından counterName belirtilen sayaç zaten var.

-veya-

counterName geçersiz söz dizimi içeriyor. Ters eğik çizgi karakterleri ("\") içerebilir veya uzunluğu 80 karakterden büyük olabilir.

Kategori yerel bilgisayarda zaten var.

categoryName, null değeridir.

-veya-

counterHelp, null değeridir.

Temel alınan sistem API'sine yapılan çağrı başarısız oldu.

Yönetici ayrıcalıkları olmadan yürütülen kod bir performans sayacını okumaya çalıştı.

Örnekler

Aşağıdaki kod örneği yönteminin Create kullanımını gösterir. Örnekte özel, tek örnekli performans sayacı kategorisinin nasıl oluşturulacağı gösterilmektedir.

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

Açıklamalar

parametresi, categoryType performans sayacı kategorisinin tek örnekli mi yoksa çok örnekli mi olduğunu belirtir. Varsayılan olarak, bir kategori oluşturulduğunda tek örnektir ve başka bir örnek eklendiğinde birden çok örnek haline gelir. Kategoriler, bir uygulama ayarlandığında oluşturulur ve örnekler çalışma zamanında eklenir. .NET Framework sürüm 1.0 ve 1.1'de, bir performans sayacı kategorisinin çok örnekli mi yoksa tek örnekli mi olduğunu bilmek gerekmez. .NET Framework 2.0'da, bir performans sayacının PerformanceCounterCategoryType birden çok örneği olup olmadığını göstermek için numaralandırma kullanılır.

.NET Framework 2.0 ile yüklenen performans sayacı kategorileri, her performans sayacı kategorisinin kendi belleğine sahip olduğu ayrı paylaşılan bellek kullanır. Kategori adı\Performans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kayıt defteri anahtarında <FileMappingSize adlı bir DWORD oluşturarak ayrı paylaşılan belleğin boyutunu belirtebilirsiniz.> FileMappingSize değeri, kategorinin paylaşılan bellek boyutuna ayarlanır. Varsayılan boyut ondalık 131072. FileMappingSize değeri yoksa, fileMappingSize Machine.config dosyasında belirtilen öğenin öznitelik değeri performanceCounters kullanılır ve bu da yapılandırma dosyası işleme için ek yüke neden olur. Kayıt defterinde dosya eşleme boyutunu ayarlayarak uygulama başlatma için bir performans geliştirmesi gerçekleştirebilirsiniz.

Not

Uygulamanın yürütülmesi sırasında değil, uygulamanın yüklenmesi sırasında yeni performans sayacı kategorilerinin oluşturulması kesinlikle önerilir. Bu, işletim sisteminin kayıtlı performans sayacı kategorileri listesini yenilemesine izin verir. Liste yenilenmediyse, kategoriyi kullanma girişimi başarısız olur.

Not

Windows Vista ve sonraki sürümlerde, Windows XP Professional x64 Edition'da veya Windows Server 2003'te etkileşimli olmayan bir oturumdan performans sayaçlarını okumak için, Performans İzleyicisi Kullanıcıları grubunun üyesi olmanız veya yönetici ayrıcalıklarına sahip olmanız gerekir.

Windows Vista ve sonraki sürümlerde performans sayaçlarına erişmek için ayrıcalıklarınızı yükseltmek zorunda kalmamak için kendinizi Performans İzleyicisi Kullanıcıları grubuna ekleyin.

Windows Vista ve sonraki sürümlerde, Kullanıcı Hesabı Denetimi (UAC) bir kullanıcının ayrıcalıkları belirler. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolünde olursunuz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Bir uygulamayı başlattığınızda, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek bunu yapabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

Create(String, String, CounterCreationDataCollection)

Kaynak:
PerformanceCounterCategory.cs
Kaynak:
PerformanceCounterCategory.cs
Kaynak:
PerformanceCounterCategory.cs

Dikkat

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

Dikkat

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

Dikkat

This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.

Yerel bilgisayarda belirtilen sayaçları içeren özel performans sayacı kategorisini kaydeder.

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

Parametreler

categoryName
String

Oluşturulacak ve sisteme kaydedilecek özel performans sayacı kategorisinin adı.

categoryHelp
String

Özel kategorinin açıklaması.

counterData
CounterCreationDataCollection

CounterCreationDataCollection Yeni kategorinin bir parçası olarak oluşturulacak sayaçları belirten bir.

Döndürülenler

PerformanceCounterCategory Yeni özel kategori veya performans nesnesiyle ilişkili bir.

Öznitelikler

Özel durumlar

Koleksiyon null içinde counterData belirtilen bir sayaç adı veya boş bir dize ("").

-veya-

Koleksiyonda counterData belirtilen bir sayaç zaten var.

-veya-

Parametrenin counterName söz dizimi geçersiz. Ters eğik çizgi karakterleri ("\") içerebilir veya uzunluğu 80 karakterden büyük olabilir.

categoryName parametresidirnull.

Kategori yerel bilgisayarda zaten var.

-veya-

Temel sayaçlar için koleksiyonun counterData düzeni yanlış. , , AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse, RawFractionCounterMultiTimer100NsSampleFractionCounterMultiTimer100NsInverseveya SampleCounter türünde AverageCount64bir sayacın hemen ardından temel sayaç türlerinden biri (AverageBase, MultiBase, RawBaseveya SampleBase) olması gerekir.

Temel alınan sistem API'sine yapılan çağrı başarısız oldu.

Yönetici ayrıcalıkları olmadan yürütülen kod bir performans sayacını okumaya çalıştı.

Örnekler

Aşağıdaki kod örneği, "orders" adlı bir PerformanceCounterCategory nesnenin mevcut olup olmadığını belirler. Aksi takdirde, iki performans sayacı içeren bir CounterCreationDataCollection nesne kullanarak nesnesini oluştururPerformanceCounterCategory.

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

Açıklamalar

Not

Windows Vista ve sonraki sürümlerde, Windows XP Professional x64 Edition veya Windows Server 2003'te etkileşimli olmayan bir oturumdan performans sayaçlarını okumak için, Performans İzleyicisi Kullanıcıları grubunun üyesi olmanız veya yönetici ayrıcalıklarına sahip olmanız gerekir.

Windows Vista ve sonraki sürümlerde performans sayaçlarına erişmek için ayrıcalıklarınızı yükseltmek zorunda kalmamak için kendinizi Performans İzleyicisi Kullanıcılar grubuna ekleyin.

Windows Vista ve sonraki sürümlerde, Kullanıcı Hesabı Denetimi (UAC) bir kullanıcının ayrıcalıkları belirler. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolünde olursunuz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Bir uygulamayı başlattığınızda, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek bunu yapabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

Kaynak:
PerformanceCounterCategory.cs
Kaynak:
PerformanceCounterCategory.cs
Kaynak:
PerformanceCounterCategory.cs

Yerel bilgisayarda belirtilen sayaçları içeren özel performans sayacı kategorisini kaydeder.

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

Parametreler

categoryName
String

Sistem oluşturulup sisteme kaydedilecek özel performans sayacı kategorisinin adı.

categoryHelp
String

Özel kategorinin açıklaması.

counterData
CounterCreationDataCollection

CounterCreationDataCollection Yeni kategorinin bir parçası olarak oluşturulacak sayaçları belirten bir.

Döndürülenler

PerformanceCounterCategory Yeni özel kategori veya performans nesnesiyle ilişkili bir.

Özel durumlar

Koleksiyon null içinde counterData belirtilen bir sayaç adı veya boş bir dize ("").

-veya-

Koleksiyonda counterData belirtilen bir sayaç zaten var.

-veya-

counterName geçersiz söz dizimi içeriyor. Ters eğik çizgi karakterleri ("\") içerebilir veya uzunluğu 80 karakterden büyük olabilir.

categoryName, null değeridir.

-veya-

counterData, null değeridir.

categoryType değeri şu değerlerin aralığının dışındadır: MultiInstance, SingleInstanceveya Unknown.

Kategori yerel bilgisayarda zaten var.

-veya-

Temel sayaçlar için koleksiyonun counterData düzeni yanlış. , , , , CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, RawFractionSampleFractionCounterMultiTimer100NsInverseveya SampleCounter türünde AverageCount64bir sayacın hemen ardından temel sayaç türlerinden biri (AverageBase, MultiBase, RawBaseveya SampleBase) olması gerekir. AverageTimer32

Temel alınan sistem API'sine yapılan çağrı başarısız oldu.

Yönetici ayrıcalıkları olmadan yürütülen kod bir performans sayacını okumaya çalıştı.

Örnekler

Aşağıdaki kod örneği yönteminin Create kullanımını gösterir. Örnekte saniyedeki sipariş sayısı için özel, çok örnekli performans sayacı kategorisinin nasıl oluşturulacağı gösterilmektedir.

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

Açıklamalar

parametresi, categoryType performans sayacı kategorisinin tek örnekli mi yoksa çok örnekli mi olduğunu belirtir. Varsayılan olarak, bir kategori oluşturulduğunda tek örnektir ve başka bir örnek eklendiğinde çok örnekli olur. Kategoriler, bir uygulama ayarlandığında oluşturulur ve örnekler çalışma zamanında eklenir. .NET Framework 1.0 ve 1.1 sürümlerinde, performans sayacı kategorisinin çok örnekli mi yoksa tek örnekli mi olduğunu bilmek gerekmez. .NET Framework 2.0'da, bir performans sayacının PerformanceCounterCategoryType birden çok örneği olup olmadığını göstermek için numaralandırma kullanılır.

.NET Framework 2.0 ile yüklenen performans sayacı kategorileri, her performans sayacı kategorisinin kendi belleğine sahip olduğu ayrı paylaşılan bellek kullanır. Kategori adı\Performans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kayıt defteri anahtarında <FileMappingSize adlı bir DWORD oluşturarak ayrı paylaşılan belleğin boyutunu belirtebilirsiniz.> FileMappingSize değeri, kategorinin paylaşılan bellek boyutuna ayarlanır. Varsayılan boyut ondalık 131072. FileMappingSize değeri yoksa, fileMappingSize Machine.config dosyasında belirtilen öğenin öznitelik değeri performanceCounters kullanılır ve bu da yapılandırma dosyası işleme için ek yüke neden olur. Kayıt defterinde dosya eşleme boyutunu ayarlayarak uygulama başlatma için bir performans geliştirmesi gerçekleştirebilirsiniz.

Not

Uygulamanın yürütülmesi sırasında değil, uygulamanın yüklenmesi sırasında yeni performans sayacı kategorilerinin oluşturulması kesinlikle önerilir. Bu, işletim sisteminin kayıtlı performans sayacı kategorileri listesini yenilemesine zaman tanır. Liste yenilenmediyse, kategoriyi kullanma girişimi başarısız olur.

Not

Windows Vista ve sonraki sürümlerde, Windows XP Professional x64 Edition veya Windows Server 2003'te etkileşimli olmayan bir oturumdan performans sayaçlarını okumak için, Performans İzleyicisi Kullanıcıları grubunun üyesi olmanız veya yönetici ayrıcalıklarına sahip olmanız gerekir.

Windows Vista ve sonraki sürümlerde performans sayaçlarına erişmek için ayrıcalıklarınızı yükseltmek zorunda kalmamak için kendinizi Performans İzleyicisi Kullanıcılar grubuna ekleyin.

Windows Vista ve sonraki sürümlerde, Kullanıcı Hesabı Denetimi (UAC) bir kullanıcının ayrıcalıkları belirler. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolünde olursunuz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Bir uygulamayı başlattığınızda, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek bunu yapabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır