PerformanceCounterCategory.Create Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |
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)
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.
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)
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.
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)
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
, CounterMultiTimerInverse
CounterMultiTimer
, CounterMultiTimer100Ns
CounterMultiTimer100NsInverse
, RawFraction
, SampleFraction
nebo SampleCounter
musí okamžitě následovat jeden ze základních typů čítačů (AverageBase
, MultiBase
, RawBase
nebo 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)
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.
- categoryType
- PerformanceCounterCategoryType
Jedna z PerformanceCounterCategoryType hodnot.
- 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ů.
categoryType
hodnota je mimo rozsah následujících hodnot: MultiInstance
, SingleInstance
nebo 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
, CounterMultiTimerInverse
RawFraction
CounterMultiTimer100Ns
CounterMultiTimer100NsInverse
, , , SampleFraction
nebo SampleCounter
musí okamžitě následovat jeden ze základních typů čítačů (AverageBase
, MultiBase
, RawBase
nebo ).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.