Sdílet prostřednictvím


PerformanceCounterCategory.Create Metoda

Definice

Zaregistruje v systému vlastní kategorii čítače výkonu a jeden nebo více čítačů.

Přetížení

Create(String, String, String, String)
Zastaralé.
Zastaralé.
Zastaralé.

Registruje vlastní kategorii čítače výkonu obsahující jeden čítač typu NumberOfItems32 v místním počítači.

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

Registruje vlastní kategorii čítače výkonu obsahující jeden čítač typu NumberOfItems32 v místním počítači.

Create(String, String, CounterCreationDataCollection)
Zastaralé.
Zastaralé.
Zastaralé.

Registruje vlastní kategorii čítačů výkonu obsahující zadané čítače v místním počítači.

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

Registruje vlastní kategorii čítačů výkonu obsahující zadané čítače v místním počítači.

Create(String, String, String, String)

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

Upozornění

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

Upozornění

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

Upozornění

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

Registruje vlastní kategorii čítače výkonu obsahující jeden čítač typu NumberOfItems32 v místním počítači.

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

Parametry

categoryName
String

Název kategorie vlastního čítače výkonu pro vytvoření a registraci v systému.

categoryHelp
String

Popis vlastní kategorie.

counterName
String

Název nového čítače typu NumberOfItems32, který se má vytvořit jako součást nové kategorie.

counterHelp
String

Popis čítače, který je přidružen k nové vlastní kategorii.

Návraty

Objekt PerformanceCounterCategory , který je přidružen k nové kategorii systému nebo objektu výkonu.

Atributy

Výjimky

counterName je null nebo je prázdný řetězec ("").

-nebo-

Čítač určený parametrem counterName již existuje.

-nebo-

counterName má neplatnou syntaxi. Může obsahovat znaky zpětného lomítka ("\") nebo může mít délku větší než 80 znaků.

Kategorie již v místním počítači existuje.

categoryName je null.

-nebo-

counterHelp je null.

Volání základního rozhraní API systému se nezdařilo.

Kód, který se spouští bez oprávnění správce, se pokusil načíst čítač výkonu.

Příklady

Následující příklad kódu vytvoří PerformanceCounterCategory jeden PerformanceCounter a s textem nápovědy pro každou pomocí Create(String, String, String, String) metody .

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

Poznámky

Poznámka

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systému Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Sledování výkonu Users nebo mít oprávnění správce.

Abyste nemuseli zvýšit svá oprávnění pro přístup k čítačům výkonu v systému Windows Vista a novějších verzích, přidejte sami sebe do skupiny Sledování výkonu Users.

Nástroj Řízení uživatelských účtů (UAC) v systému Windows Vista a novějším určuje oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazeny dva přístupové tokeny run-time: token přístupu uživatele se standardním oprávněním a token přístupu správce. Ve výchozím nastavení máte roli standardního uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění ze standardního uživatele na správce. Můžete to udělat při spuštění aplikace tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete aplikaci spustit jako správce.

Viz také

Platí pro

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

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

Registruje vlastní kategorii čítače výkonu obsahující jeden čítač typu NumberOfItems32 v místním počítači.

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

Parametry

categoryName
String

Název kategorie vlastního čítače výkonu pro vytvoření a registraci v systému.

categoryHelp
String

Popis vlastní kategorie.

categoryType
PerformanceCounterCategoryType

Jedna z PerformanceCounterCategoryType hodnot určující, jestli je MultiInstancekategorie , SingleInstancenebo Unknown.

counterName
String

Název nového čítače, který se má vytvořit jako součást nové kategorie.

counterHelp
String

Popis čítače, který je přidružen k nové vlastní kategorii.

Návraty

Objekt PerformanceCounterCategory , který je přidružen k nové kategorii systému nebo objektu výkonu.

Výjimky

counterName je null nebo je prázdný řetězec ("").

-nebo-

Čítač určený parametrem counterName již existuje.

-nebo-

counterName má neplatnou syntaxi. Může obsahovat znaky zpětného lomítka ("\") nebo může mít délku větší než 80 znaků.

Kategorie již v místním počítači existuje.

categoryName je null.

-nebo-

counterHelp je null.

Volání základního rozhraní API systému se nezdařilo.

Kód, který se spouští bez oprávnění správce, se pokusil načíst čítač výkonu.

Příklady

Následující příklad kódu ukazuje použití Create metody . Příklad ukazuje, jak vytvořit vlastní kategorii čítače výkonu jedné instance.

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

Poznámky

Parametr categoryType určuje, jestli je kategorie čítače výkonu jedna nebo více instancí. Ve výchozím nastavení je kategorie při vytvoření jedna instance a při přidání další instance se stane více instancemi. Kategorie se vytvářejí při nastavení aplikace a instance se přidávají za běhu. V rozhraní .NET Framework verze 1.0 a 1.1 není nutné vědět, jestli je kategorie čítače výkonu více instancí nebo jedna instance. V rozhraní .NET Framework 2.0 se výčet používá k označení, PerformanceCounterCategoryType zda čítač výkonu může mít více instancí.

Kategorie čítačů výkonu nainstalované s rozhraním .NET Framework 2.0 používají samostatnou sdílenou paměť, přičemž každá kategorie čítačů výkonu má vlastní paměť. Velikost samostatné sdílené paměti můžete určit vytvořením hodnoty DWORD s názvem FileMappingSize v klíči registru HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<název> kategorie\Výkon. Hodnota FileMappingSize je nastavená na velikost sdílené paměti kategorie. Výchozí velikost je 131072 desetinných míst. Pokud hodnota FileMappingSize neexistuje, fileMappingSize použije se hodnota atributu elementu performanceCounters zadaného v souboru Machine.config, což způsobí další režii při zpracování konfiguračního souboru. Zvýšení výkonu při spouštění aplikace můžete dosáhnout nastavením velikosti mapování souborů v registru.

Poznámka

Důrazně doporučujeme, aby se nové kategorie čítačů výkonu vytvářely během instalace aplikace, ne během provádění aplikace. Operační systém tak může aktualizovat seznam registrovaných kategorií čítačů výkonu. Pokud se seznam neaktualizoval, pokus o použití kategorie se nezdaří.

Poznámka

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systému Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Sledování výkonu Users nebo mít oprávnění správce.

Abyste nemuseli zvýšit svá oprávnění pro přístup k čítačům výkonu v systému Windows Vista a novějších verzích, přidejte sami sebe do skupiny Sledování výkonu Users.

Nástroj Řízení uživatelských účtů (UAC) v systému Windows Vista a novějším určuje oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazeny dva přístupové tokeny run-time: token přístupu uživatele se standardním oprávněním a token přístupu správce. Ve výchozím nastavení máte roli standardního uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění ze standardního uživatele na správce. Můžete to udělat při spuštění aplikace tak, že kliknete pravým tlačítkem myši na ikonu aplikace a označíte, že chcete aplikaci spustit jako správce.

Viz také

Platí pro

Create(String, String, CounterCreationDataCollection)

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

Upozornění

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

Upozornění

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

Upozornění

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

Zaregistruje vlastní kategorii čítačů výkonu obsahující zadané čítače v místním počítači.

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

Parametry

categoryName
String

Název kategorie vlastního čítače výkonu pro vytvoření a registraci v systému.

categoryHelp
String

Popis vlastní kategorie.

counterData
CounterCreationDataCollection

A CounterCreationDataCollection , který určuje čítače, které se mají vytvořit jako součást nové kategorie.

Návraty

A PerformanceCounterCategory , která je přidružená k nové vlastní kategorii nebo objektu výkonu.

Atributy

Výjimky

Název čítače zadaný v kolekci counterData je null nebo prázdný řetězec ("").

-nebo-

Čítač zadaný v rámci counterData kolekce již existuje.

-nebo-

Parametr má neplatnou counterName syntaxi. Může obsahovat znaky zpětného lomítka ("\") nebo může mít délku větší než 80 znaků.

Parametr categoryName je null.

Kategorie již v místním počítači existuje.

-nebo-

Rozložení counterData kolekce je nesprávné pro základní čítače. Za čítačem typu AverageCount64, , AverageTimer32, CounterMultiTimerInverseCounterMultiTimer, CounterMultiTimer100NsCounterMultiTimer100NsInverse, RawFraction, SampleFraction nebo SampleCounter musí okamžitě následovat jeden ze základních typů čítačů (AverageBase, MultiBase, RawBasenebo SampleBase).

Volání základního rozhraní API systému se nezdařilo.

Kód, který se spouští bez oprávnění správce, se pokusil načíst čítač výkonu.

Příklady

Následující příklad kódu určuje, zda PerformanceCounterCategory existuje objekt s názvem "orders". Pokud ne, vytvoří PerformanceCounterCategory objekt pomocí objektu CounterCreationDataCollection , který obsahuje dva čítače výkonu.

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

Poznámky

Poznámka

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systému Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Sledování výkonu Users nebo mít oprávnění správce.

Abyste nemuseli zvýšit oprávnění pro přístup k čítačům výkonu ve Windows Vista a novějších verzích, přidejte se do skupiny Sledování výkonu Users.

Nástroj Řízení uživatelských účtů (UAC) v systému Windows Vista a novějším určuje oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazeny dva přístupové tokeny run-time: token přístupu uživatele se standardním oprávněním a token přístupu správce. Ve výchozím nastavení máte roli standardního uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění ze standardního uživatele na správce. Můžete to udělat při spuštění aplikace tak, že kliknete pravým tlačítkem na ikonu aplikace a označíte, že chcete spustit jako správce.

Viz také

Platí pro

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs
Zdroj:
PerformanceCounterCategory.cs

Zaregistruje vlastní kategorii čítačů výkonu obsahující zadané čítače v místním počítači.

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

Parametry

categoryName
String

Název kategorie vlastního čítače výkonu, která se má vytvořit a zaregistrovat v systému.

categoryHelp
String

Popis vlastní kategorie.

counterData
CounterCreationDataCollection

A CounterCreationDataCollection , který určuje čítače, které se mají vytvořit jako součást nové kategorie.

Návraty

A PerformanceCounterCategory , která je přidružená k nové vlastní kategorii nebo objektu výkonu.

Výjimky

Název čítače zadaný v kolekci counterData je null nebo prázdný řetězec ("").

-nebo-

Čítač zadaný v kolekci counterData již existuje.

-nebo-

counterName má neplatnou syntaxi. Může obsahovat znaky zpětného lomítka ("\") nebo může mít délku větší než 80 znaků.

categoryName je null.

-nebo-

counterData je null.

categoryType hodnota je mimo rozsah následujících hodnot: MultiInstance, SingleInstancenebo Unknown.

Kategorie již v místním počítači existuje.

-nebo-

Rozložení counterData kolekce je nesprávné pro základní čítače. Za čítačem typu AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverseRawFractionCounterMultiTimer100NsCounterMultiTimer100NsInverse, , , SampleFractionnebo SampleCounter musí okamžitě následovat jeden ze základních typů čítačů (AverageBase, MultiBase, RawBasenebo ).SampleBase

Volání základního rozhraní API systému selhalo.

Kód, který se spouští bez oprávnění správce, se pokusil přečíst čítač výkonu.

Příklady

Následující příklad kódu ukazuje použití Create metody. Příklad ukazuje, jak vytvořit vlastní kategorii čítače výkonu s více instancemi pro počet objednávek za sekundu.

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

Poznámky

Parametr categoryType určuje, jestli je kategorie čítače výkonu jedna instance nebo více instancí. Ve výchozím nastavení je kategorie při vytvoření jedna instance a při přidání další instance se stane více instancí. Kategorie se vytvářejí při nastavení aplikace a instance se přidávají za běhu. V rozhraní .NET Framework verze 1.0 a 1.1 není nutné vědět, jestli je kategorie čítače výkonu více instancí nebo jedna instance. V rozhraní .NET Framework 2.0 se výčet používá k označení, PerformanceCounterCategoryType zda čítač výkonu může mít více instancí.

Kategorie čítačů výkonu nainstalované s rozhraním .NET Framework 2.0 používají samostatnou sdílenou paměť, přičemž každá kategorie čítačů výkonu má vlastní paměť. Velikost samostatné sdílené paměti můžete určit tak, že vytvoříte DWORD s názvem FileMappingSize v klíči registru HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<název> kategorie\Výkon. Hodnota FileMappingSize je nastavená na velikost sdílené paměti kategorie. Výchozí velikost je 131072 desetinné číslo. Pokud hodnota FileMappingSize není k dispozici, fileMappingSize použije se hodnota atributu elementu performanceCounters zadaného v souboru Machine.config, což způsobí další režii při zpracování konfiguračního souboru. Zvýšení výkonu při spouštění aplikace můžete dosáhnout nastavením velikosti mapování souborů v registru.

Poznámka

Důrazně doporučujeme, aby se nové kategorie čítačů výkonu vytvářely během instalace aplikace, nikoli během provádění aplikace. Operační systém tak může aktualizovat seznam registrovaných kategorií čítačů výkonu. Pokud se seznam neaktualizoval, pokus o použití kategorie se nezdaří.

Poznámka

Chcete-li číst čítače výkonu z neinteraktivní přihlašovací relace v systému Windows Vista a novějších, Windows XP Professional x64 Edition nebo Windows Server 2003, musíte být členem skupiny Sledování výkonu Users nebo mít oprávnění správce.

Abyste nemuseli zvýšit oprávnění pro přístup k čítačům výkonu ve Windows Vista a novějších verzích, přidejte se do skupiny Sledování výkonu Users.

Nástroj Řízení uživatelských účtů (UAC) v systému Windows Vista a novějším určuje oprávnění uživatele. Pokud jste členem předdefinované skupiny Administrators, máte přiřazeny dva přístupové tokeny run-time: token přístupu uživatele se standardním oprávněním a token přístupu správce. Ve výchozím nastavení máte roli standardního uživatele. Pokud chcete spustit kód, který přistupuje k čítačům výkonu, musíte nejprve zvýšit oprávnění ze standardního uživatele na správce. Můžete to udělat při spuštění aplikace tak, že kliknete pravým tlačítkem na ikonu aplikace a označíte, že chcete spustit jako správce.

Viz také

Platí pro