PerformanceCounterCategory.Create Methode

Definition

Registriert eine benutzerdefinierte Leistungsindikatorkategorie und mindestens einen Zähler im System.

Überlädt

Create(String, String, String, String)
Veraltet.
Veraltet.
Veraltet.

Registriert eine benutzerdefinierte Leistungsindikatorkategorie, die einen einzelnen Indikator vom Typ NumberOfItems32 enthält, auf dem lokalen Computer.

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

Registriert die benutzerdefinierte Leistungsindikatorkategorie, die einen einzelnen Indikator vom Typ NumberOfItems32 enthält, auf dem lokalen Computer.

Create(String, String, CounterCreationDataCollection)
Veraltet.
Veraltet.
Veraltet.

Registriert die benutzerdefinierte Leistungsindikatorkategorie, die die angegebenen Zähler enthält, auf dem lokalen Computer.

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

Registriert die benutzerdefinierte Leistungsindikatorkategorie, die die angegebenen Zähler enthält, auf dem lokalen Computer.

Create(String, String, String, String)

Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs

Achtung

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

Achtung

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

Achtung

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

Registriert eine benutzerdefinierte Leistungsindikatorkategorie, die einen einzelnen Indikator vom Typ NumberOfItems32 enthält, auf dem lokalen Computer.

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

Der Name der benutzerdefinierten Leistungsindikatorkategorie, die erstellt und im System registriert werden soll.

categoryHelp
String

Eine Beschreibung der benutzerdefinierten Kategorie.

counterName
String

Der Name eines neuen Indikators vom Typ NumberOfItems32, der als Bestandteil der neuen Kategorie erstellt werden soll.

counterHelp
String

Eine Beschreibung des Zählers, der der neuen benutzerdefinierten Kategorie zugeordnet ist.

Gibt zurück

Eine PerformanceCounterCategory, die der neuen Systemkategorie oder dem Leistungsobjekt zugeordnet ist.

Attribute

Ausnahmen

counterName ist null oder eine leere Zeichenfolge ("").

- oder -

Der von counterName angegebene Zähler ist bereits vorhanden.

- oder -

Die Syntax für counterName ist ungültig. Sie kann umgekehrte Schrägstriche ("\") enthalten oder eine Länge von mehr als 80 Zeichen aufweisen.

Die Kategorie ist auf dem lokalen Computer bereits vorhanden.

categoryName ist null.

- oder -

counterHelp ist null.

Fehler beim Aufruf einer zugrunde liegenden System-API.

Ohne Administratorrechte ausgeführter Code hat versucht, einen Leistungsindikator zu lesen.

Beispiele

Im folgenden Codebeispiel werden mithilfe der Create(String, String, String, String) -Methode ein und ein PerformanceCounterCategory Einzelner PerformanceCounter mit Hilfetext für jeden erstellt.

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

Hinweise

Hinweis

Um Leistungsindikatoren aus einer nicht interaktiven Anmeldesitzung in Windows Vista und höher, Windows XP Professional x64 Edition oder Windows Server 2003 zu lesen, müssen Sie entweder Mitglied der Gruppe Leistungsmonitor Benutzer sein oder über Administratorrechte verfügen.

Um zu vermeiden, dass Sie Ihre Berechtigungen für den Zugriff auf Leistungsindikatoren in Windows Vista und höher erhöhen müssen, fügen Sie sich der Gruppe Leistungsmonitor Benutzer hinzu.

Unter Windows Vista (und höher) werden die Berechtigungen eines Benutzers von der Benutzerkontensteuerung (User Account Control, UAC) bestimmt. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken. Standardmäßig verwenden Sie die Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer zum Administrator erhöhen. Dazu starten Sie eine Anwendung, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie die Anwendung als Administrator ausführen möchten.

Weitere Informationen

Gilt für:

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

Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs

Registriert die benutzerdefinierte Leistungsindikatorkategorie, die einen einzelnen Indikator vom Typ NumberOfItems32 enthält, auf dem lokalen Computer.

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

Der Name der benutzerdefinierten Leistungsindikatorkategorie, die erstellt und im System registriert werden soll.

categoryHelp
String

Eine Beschreibung der benutzerdefinierten Kategorie.

categoryType
PerformanceCounterCategoryType

Einer der PerformanceCounterCategoryType-Werte, der angibt, ob die Kategorie MultiInstance, SingleInstance oder Unknown ist.

counterName
String

Der Name eines neuen Zählers, der als Bestandteil der neuen Kategorie erstellt werden soll.

counterHelp
String

Eine Beschreibung des Zählers, der der neuen benutzerdefinierten Kategorie zugeordnet ist.

Gibt zurück

Eine PerformanceCounterCategory, die der neuen Systemkategorie oder dem Leistungsobjekt zugeordnet ist.

Ausnahmen

counterName ist null oder eine leere Zeichenfolge ("").

- oder -

Der von counterName angegebene Zähler ist bereits vorhanden.

- oder -

Die Syntax für counterName ist ungültig. Sie kann umgekehrte Schrägstriche ("\") enthalten oder eine Länge von mehr als 80 Zeichen aufweisen.

Die Kategorie ist auf dem lokalen Computer bereits vorhanden.

categoryName ist null.

- oder -

counterHelp ist null.

Fehler beim Aufruf einer zugrunde liegenden System-API.

Ohne Administratorrechte ausgeführter Code hat versucht, einen Leistungsindikator zu lesen.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der Create -Methode veranschaulicht. Das Beispiel zeigt, wie Sie eine benutzerdefinierte Leistungsindikatorkategorie mit einer einzelnen instance erstellen.

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

Hinweise

Der categoryType Parameter gibt an, ob die Leistungsindikatorkategorie ein instance oder multi-instance ist. Standardmäßig ist eine Kategorie bei der Erstellung single-instance und wird multi-instance, wenn eine weitere instance hinzugefügt wird. Kategorien werden erstellt, wenn eine Anwendung eingerichtet ist, und Instanzen werden zur Laufzeit hinzugefügt. In den .NET Framework Versionen 1.0 und 1.1 ist es nicht erforderlich, zu wissen, ob eine Leistungsindikatorkategorie mehrere instance oder single-instance ist. Im .NET Framework 2.0 wird die PerformanceCounterCategoryType Enumeration verwendet, um anzugeben, ob ein Leistungsindikator mehrere Instanzen aufweisen kann.

Leistungsindikatorkategorien, die mit dem .NET Framework 2.0 installiert werden, verwenden separaten freigegebenen Arbeitsspeicher, wobei jede Leistungsindikatorkategorie über einen eigenen Arbeitsspeicher verfügt. Sie können die Größe des separaten freigegebenen Arbeitsspeichers angeben, indem Sie im Registrierungsschlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Kategoriename>\Leistung ein DWORD namens FileMappingSize erstellen. Der Wert FileMappingSize wird auf die Größe des freigegebenen Arbeitsspeichers der Kategorie festgelegt. Die Standardgröße ist 131072 dezimal. Wenn der FileMappingSize-Wert nicht vorhanden ist, wird der fileMappingSize Attributwert für das performanceCounters in der Machine.config-Datei angegebene Element verwendet, was zusätzlichen Mehraufwand für die Verarbeitung der Konfigurationsdatei verursacht. Sie können eine Leistungsverbesserung für den Anwendungsstart erzielen, indem Sie die Dateizuordnungsgröße in der Registrierung festlegen.

Hinweis

Es wird dringend empfohlen, neue Leistungsindikatorkategorien während der Installation der Anwendung und nicht während der Ausführung der Anwendung zu erstellen. Dadurch kann das Betriebssystem die Liste der registrierten Leistungsindikatorkategorien aktualisieren. Wenn die Liste nicht aktualisiert wurde, schlägt der Versuch, die Kategorie zu verwenden, fehl.

Hinweis

Um Leistungsindikatoren aus einer nicht interaktiven Anmeldesitzung in Windows Vista und höher, Windows XP Professional x64 Edition oder Windows Server 2003 zu lesen, müssen Sie entweder Mitglied der Gruppe Leistungsmonitor Benutzer sein oder über Administratorrechte verfügen.

Um zu vermeiden, dass Sie Ihre Berechtigungen für den Zugriff auf Leistungsindikatoren in Windows Vista und höher erhöhen müssen, fügen Sie sich der Gruppe Leistungsmonitor Benutzer hinzu.

Unter Windows Vista (und höher) werden die Berechtigungen eines Benutzers von der Benutzerkontensteuerung (User Account Control, UAC) bestimmt. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken. Standardmäßig verwenden Sie die Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer zum Administrator erhöhen. Dazu starten Sie eine Anwendung, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie die Anwendung als Administrator ausführen möchten.

Weitere Informationen

Gilt für:

Create(String, String, CounterCreationDataCollection)

Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs

Achtung

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

Achtung

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

Achtung

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

Registriert die benutzerdefinierte Leistungsindikatorkategorie, die die angegebenen Zähler enthält, auf dem lokalen Computer.

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

Der Name der benutzerdefinierten Leistungsindikatorkategorie, die erstellt und im System registriert werden soll.

categoryHelp
String

Eine Beschreibung der benutzerdefinierten Kategorie.

counterData
CounterCreationDataCollection

Eine CounterCreationDataCollection, die die als Bestandteil der neuen Kategorie zu erstellenden Zähler angibt.

Gibt zurück

Eine PerformanceCounterCategory, die der neuen benutzerdefinierten Kategorie oder dem Leistungsobjekt zugeordnet ist.

Attribute

Ausnahmen

Ein in der counterData-Auflistung angegebener Zählername ist null oder eine leere Zeichenfolge ("").

- oder -

Ein in der counterData-Auflistung angegebener Zähler ist bereits vorhanden.

- oder -

Die Syntax des counterName-Parameters ist ungültig. Sie kann umgekehrte Schrägstriche ("\") enthalten oder eine Länge von mehr als 80 Zeichen aufweisen.

Der categoryName-Parameter ist null.

Die Kategorie ist auf dem lokalen Computer bereits vorhanden.

- oder -

Das Layout der counterData-Auflistung ist bezüglich der Basiszähler falsch. Auf einen Zähler des Typs AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction, SampleFraction oder SampleCounter muss unmittelbar einer der Basiszählertypen folgen (AverageBase, MultiBase, RawBase oder SampleBase).

Fehler beim Aufruf einer zugrunde liegenden System-API.

Ohne Administratorrechte ausgeführter Code hat versucht, einen Leistungsindikator zu lesen.

Beispiele

Im folgenden Codebeispiel wird bestimmt, ob ein PerformanceCounterCategory Objekt mit dem Namen "orders" vorhanden ist. Andernfalls wird das PerformanceCounterCategory -Objekt mithilfe eines CounterCreationDataCollection -Objekts erstellt, das zwei Leistungsindikatoren enthält.

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

Hinweise

Hinweis

Um Leistungsindikatoren aus einer nicht interaktiven Anmeldesitzung in Windows Vista und höher, Windows XP Professional x64 Edition oder Windows Server 2003 zu lesen, müssen Sie entweder Mitglied der Gruppe Leistungsmonitor Benutzer sein oder über Administratorrechte verfügen.

Um zu vermeiden, dass Sie Ihre Berechtigungen für den Zugriff auf Leistungsindikatoren in Windows Vista und höher erhöhen müssen, fügen Sie sich der Gruppe Leistungsmonitor Benutzer hinzu.

Unter Windows Vista (und höher) werden die Berechtigungen eines Benutzers von der Benutzerkontensteuerung (User Account Control, UAC) bestimmt. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken. Standardmäßig verwenden Sie die Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer zum Administrator erhöhen. Dazu starten Sie eine Anwendung, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie die Anwendung als Administrator ausführen möchten.

Weitere Informationen

Gilt für:

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs
Quelle:
PerformanceCounterCategory.cs

Registriert die benutzerdefinierte Leistungsindikatorkategorie, die die angegebenen Zähler enthält, auf dem lokalen Computer.

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

Der Name der benutzerdefinierten Leistungsindikatorkategorie, die erstellt und im System registriert werden soll.

categoryHelp
String

Eine Beschreibung der benutzerdefinierten Kategorie.

counterData
CounterCreationDataCollection

Eine CounterCreationDataCollection, die die als Bestandteil der neuen Kategorie zu erstellenden Zähler angibt.

Gibt zurück

Eine PerformanceCounterCategory, die der neuen benutzerdefinierten Kategorie oder dem Leistungsobjekt zugeordnet ist.

Ausnahmen

Ein in der counterData-Auflistung angegebener Zählername ist null oder eine leere Zeichenfolge ("").

- oder -

Ein in der counterData-Auflistung angegebener Zähler ist bereits vorhanden.

- oder -

Die Syntax für counterName ist ungültig. Sie kann umgekehrte Schrägstriche ("\") enthalten oder eine Länge von mehr als 80 Zeichen aufweisen.

categoryName ist null.

- oder -

counterData ist null.

Der categoryType-Wert liegt außerhalb des Bereichs der folgenden Werte: MultiInstance, SingleInstance, oder Unknown.

Die Kategorie ist auf dem lokalen Computer bereits vorhanden.

- oder -

Das Layout der counterData-Auflistung ist bezüglich der Basiszähler falsch. Auf einen Zähler des Typs AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction, SampleFraction oder SampleCounter muss unmittelbar einer der Basiszählertypen folgen (AverageBase, MultiBase, RawBase oder SampleBase).

Fehler beim Aufruf einer zugrunde liegenden System-API.

Ohne Administratorrechte ausgeführter Code hat versucht, einen Leistungsindikator zu lesen.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der Create -Methode veranschaulicht. Das Beispiel zeigt, wie eine benutzerdefinierte Leistungsindikatorkategorie mit mehreren instance für die Anzahl der Aufträge pro Sekunde erstellt wird.

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

Hinweise

Der categoryType Parameter gibt an, ob die Leistungsindikatorkategorie ein instance oder multi-instance ist. Standardmäßig ist eine Kategorie bei der Erstellung single-instance und wird multi-instance, wenn eine weitere instance hinzugefügt wird. Kategorien werden erstellt, wenn eine Anwendung eingerichtet ist, und Instanzen werden zur Laufzeit hinzugefügt. In den .NET Framework Versionen 1.0 und 1.1 ist es nicht erforderlich, zu wissen, ob eine Leistungsindikatorkategorie mehrere instance oder single-instance ist. Im .NET Framework 2.0 wird die PerformanceCounterCategoryType Enumeration verwendet, um anzugeben, ob ein Leistungsindikator mehrere Instanzen aufweisen kann.

Leistungsindikatorkategorien, die mit dem .NET Framework 2.0 installiert werden, verwenden separaten freigegebenen Arbeitsspeicher, wobei jede Leistungsindikatorkategorie über einen eigenen Arbeitsspeicher verfügt. Sie können die Größe des separaten freigegebenen Arbeitsspeichers angeben, indem Sie im Registrierungsschlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Kategoriename>\Leistung ein DWORD namens FileMappingSize erstellen. Der Wert FileMappingSize wird auf die Größe des freigegebenen Arbeitsspeichers der Kategorie festgelegt. Die Standardgröße ist 131072 dezimal. Wenn der FileMappingSize-Wert nicht vorhanden ist, wird der fileMappingSize Attributwert für das performanceCounters in der Machine.config-Datei angegebene Element verwendet, was zusätzlichen Mehraufwand für die Verarbeitung der Konfigurationsdatei verursacht. Sie können eine Leistungsverbesserung für den Anwendungsstart erzielen, indem Sie die Dateizuordnungsgröße in der Registrierung festlegen.

Hinweis

Es wird dringend empfohlen, neue Leistungsindikatorkategorien während der Installation der Anwendung und nicht während der Ausführung der Anwendung zu erstellen. Dadurch kann das Betriebssystem die Liste der registrierten Leistungsindikatorkategorien aktualisieren. Wenn die Liste nicht aktualisiert wurde, schlägt der Versuch, die Kategorie zu verwenden, fehl.

Hinweis

Um Leistungsindikatoren aus einer nicht interaktiven Anmeldesitzung in Windows Vista und höher, Windows XP Professional x64 Edition oder Windows Server 2003 zu lesen, müssen Sie entweder Mitglied der Gruppe Leistungsmonitor Benutzer sein oder über Administratorrechte verfügen.

Um zu vermeiden, dass Sie Ihre Berechtigungen für den Zugriff auf Leistungsindikatoren in Windows Vista und höher erhöhen müssen, fügen Sie sich der Gruppe Leistungsmonitor Benutzer hinzu.

Unter Windows Vista (und höher) werden die Berechtigungen eines Benutzers von der Benutzerkontensteuerung (User Account Control, UAC) bestimmt. Als Mitglied der integrierten Administratorgruppe sind Ihnen zwei Zugriffstoken für die Laufzeit zugewiesen: ein Standardbenutzertoken und ein Administratorzugriffstoken. Standardmäßig verwenden Sie die Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer zum Administrator erhöhen. Dazu starten Sie eine Anwendung, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie die Anwendung als Administrator ausführen möchten.

Weitere Informationen

Gilt für: