PerformanceCounterCategory.Create Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
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)
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.
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)
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.
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)
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)
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.
- categoryType
- PerformanceCounterCategoryType
Einer der PerformanceCounterCategoryType-Werte.
- 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.
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.