PerformanceCounterCategory.Create Método

Definición

Registra una categoría de contador de rendimiento personalizado y uno o varios contadores con el sistema.

Sobrecargas

Nombre Description
Create(String, String, String, String)
Obsoletos.

Registra una categoría de contador de rendimiento personalizado que contiene un único contador de tipo NumberOfItems32 en el equipo local.

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

Registra la categoría del contador de rendimiento personalizado que contiene un único contador de tipo NumberOfItems32 en el equipo local.

Create(String, String, CounterCreationDataCollection)
Obsoletos.

Registra la categoría del contador de rendimiento personalizado que contiene los contadores especificados en el equipo local.

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

Registra la categoría del contador de rendimiento personalizado que contiene los contadores especificados en el equipo local.

Create(String, String, String, String)

Precaució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

Registra una categoría de contador de rendimiento personalizado que contiene un único contador de tipo NumberOfItems32 en el equipo local.

public:
 static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::String ^ counterName, System::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")]
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, string counterName, string counterHelp);
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.  http://go.microsoft.com/fwlink/?linkid=14202")>]
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

Parámetros

categoryName
String

Nombre de la categoría del contador de rendimiento personalizado que se va a crear y registrar con el sistema.

categoryHelp
String

Descripción de la categoría personalizada.

counterName
String

Nombre de un nuevo contador, de tipo NumberOfItems32, que se va a crear como parte de la nueva categoría.

counterHelp
String

Descripción del contador asociado a la nueva categoría personalizada.

Devoluciones

que PerformanceCounterCategory está asociado a la nueva categoría del sistema o al objeto de rendimiento.

Atributos

Excepciones

counterName es null o es una cadena vacía ("").

O bien

El contador especificado por counterName ya existe.

O bien

counterName tiene sintaxis no válida. Puede contener caracteres de barra diagonal inversa ("\") o tener una longitud superior a 80 caracteres.

La categoría ya existe en el equipo local.

categoryName es null.

O bien

counterHelp es null.

Error en una llamada a una API del sistema subyacente.

Código que se ejecuta sin privilegios administrativos intenta leer un contador de rendimiento.

Comentarios

Note

Para leer los contadores de rendimiento de una sesión de inicio de sesión no interactiva en Windows Vista y versiones posteriores, Windows XP Professional x64 Edition o Windows Server 2003, debe ser miembro del grupo Usuarios del Monitor de rendimiento o tener privilegios administrativos.

Para evitar tener que elevar sus privilegios para acceder a los contadores de rendimiento en Windows Vista y versiones posteriores, agréguese al grupo Usuarios del Monitor de rendimiento.

En Windows Vista y versiones posteriores, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario. Si es miembro del grupo Administradores integrados, se le asignan dos tokens de acceso en tiempo de ejecución: un token de acceso de usuario estándar y un token de acceso de administrador. De forma predeterminada, está en el rol de usuario estándar. Para ejecutar el código que accede a los contadores de rendimiento, primero debe elevar sus privilegios de usuario estándar a administrador. Puede hacerlo al iniciar una aplicación haciendo clic con el botón derecho en el icono de la aplicación e indicando que desea ejecutar como administrador.

Consulte también

Se aplica a

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

Registra la categoría del contador de rendimiento personalizado que contiene un único contador de tipo NumberOfItems32 en el equipo local.

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

Parámetros

categoryName
String

Nombre de la categoría del contador de rendimiento personalizado que se va a crear y registrar con el sistema.

categoryHelp
String

Descripción de la categoría personalizada.

categoryType
PerformanceCounterCategoryType

Uno de los PerformanceCounterCategoryType valores que especifican si la categoría es MultiInstance, SingleInstanceo Unknown.

counterName
String

Nombre de un nuevo contador que se va a crear como parte de la nueva categoría.

counterHelp
String

Descripción del contador asociado a la nueva categoría personalizada.

Devoluciones

que PerformanceCounterCategory está asociado a la nueva categoría del sistema o al objeto de rendimiento.

Excepciones

counterName es null o es una cadena vacía ("").

O bien

El contador especificado por counterName ya existe.

O bien

counterName tiene sintaxis no válida. Puede contener caracteres de barra diagonal inversa ("\") o tener una longitud superior a 80 caracteres.

La categoría ya existe en el equipo local.

categoryName es null.

O bien

counterHelp es null.

Error en una llamada a una API del sistema subyacente.

Código que se ejecuta sin privilegios administrativos intenta leer un contador de rendimiento.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del Create método . En el ejemplo se muestra cómo crear una categoría de contador de rendimiento de instancia única personalizada.

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

Comentarios

El categoryType parámetro especifica si la categoría del contador de rendimiento es de instancia única o de varias instancias. De forma predeterminada, una categoría es una instancia única cuando se crea y se convierte en una instancia múltiple cuando se agrega otra instancia. Las categorías se crean cuando se configura una aplicación y se agregan instancias en tiempo de ejecución. La PerformanceCounterCategoryType enumeración se usa para indicar si un contador de rendimiento puede tener varias instancias.

Las categorías de contadores de rendimiento instaladas con .NET usan memoria compartida independiente, con cada categoría de contador de rendimiento que tenga su propia memoria. Puede especificar el tamaño de la memoria compartida independiente creando un DWORD denominado FileMappingSize en la clave del Registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nombre> de categoría\Rendimiento. El valor FileMappingSize se establece en el tamaño de memoria compartida de la categoría. El tamaño predeterminado es 131072 decimal. Si el valor FileMappingSize no está presente, se usa el valor de fileMappingSize atributo del elemento especificado en el archivo Machine.config, lo que provoca una sobrecarga adicional para el performanceCounters procesamiento de archivos de configuración. Puede realizar una mejora del rendimiento para el inicio de la aplicación estableciendo el tamaño de asignación de archivos en el Registro.

Note

Se recomienda encarecidamente crear nuevas categorías de contadores de rendimiento durante la instalación de la aplicación, no durante la ejecución de la aplicación. Esto permite que el sistema operativo actualice su lista de categorías de contadores de rendimiento registrados. Si no se ha actualizado la lista, se producirá un error al intentar usar la categoría.

Note

Para leer los contadores de rendimiento de una sesión de inicio de sesión no interactiva en Windows Vista y versiones posteriores, Windows XP Professional x64 Edition o Windows Server 2003, debe ser miembro del grupo Usuarios del Monitor de rendimiento o tener privilegios administrativos.

Para evitar tener que elevar sus privilegios para acceder a los contadores de rendimiento en Windows Vista y versiones posteriores, agréguese al grupo Usuarios del Monitor de rendimiento.

En Windows Vista y versiones posteriores, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario. Si es miembro del grupo Administradores integrados, se le asignan dos tokens de acceso en tiempo de ejecución: un token de acceso de usuario estándar y un token de acceso de administrador. De forma predeterminada, está en el rol de usuario estándar. Para ejecutar el código que accede a los contadores de rendimiento, primero debe elevar sus privilegios de usuario estándar a administrador. Puede hacerlo al iniciar una aplicación haciendo clic con el botón derecho en el icono de la aplicación e indicando que desea ejecutar como administrador.

Consulte también

Se aplica a

Create(String, String, CounterCreationDataCollection)

Precaució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

Registra la categoría del contador de rendimiento personalizado que contiene los contadores especificados en el equipo local.

public:
 static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::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")]
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
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.  http://go.microsoft.com/fwlink/?linkid=14202")>]
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

Parámetros

categoryName
String

Nombre de la categoría del contador de rendimiento personalizado que se va a crear y registrar con el sistema.

categoryHelp
String

Descripción de la categoría personalizada.

counterData
CounterCreationDataCollection

que CounterCreationDataCollection especifica los contadores que se van a crear como parte de la nueva categoría.

Devoluciones

que PerformanceCounterCategory está asociado a la nueva categoría personalizada o al objeto de rendimiento.

Atributos

Excepciones

Un nombre de contador especificado dentro de la counterData colección es null o una cadena vacía ("").

O bien

Ya existe un contador especificado dentro de la counterData colección.

El categoryName parámetro es null.

La categoría ya existe en el equipo local.

O bien

El diseño de la counterData colección es incorrecto para los contadores base. Un contador de tipo AverageCount64, , CounterMultiTimerAverageTimer32, CounterMultiTimerInverseCounterMultiTimer100Ns, CounterMultiTimer100NsInverse, , RawFractionSampleFraction o SampleCounter debe ir seguido inmediatamente de uno de los tipos de contador base (AverageBase, MultiBase, RawBaseo SampleBase).

Error en una llamada a una API del sistema subyacente.

Código que se ejecuta sin privilegios administrativos intenta leer un contador de rendimiento.

Comentarios

Note

Para leer los contadores de rendimiento de una sesión de inicio de sesión no interactiva en Windows Vista y versiones posteriores, Windows XP Professional x64 Edition o Windows Server 2003, debe ser miembro del grupo Usuarios del Monitor de rendimiento o tener privilegios administrativos.

Para evitar tener que elevar sus privilegios para acceder a los contadores de rendimiento en Windows Vista y versiones posteriores, agréguese al grupo Usuarios del Monitor de rendimiento.

En Windows Vista y versiones posteriores, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario. Si es miembro del grupo Administradores integrados, se le asignan dos tokens de acceso en tiempo de ejecución: un token de acceso de usuario estándar y un token de acceso de administrador. De forma predeterminada, está en el rol de usuario estándar. Para ejecutar el código que accede a los contadores de rendimiento, primero debe elevar sus privilegios de usuario estándar a administrador. Puede hacerlo al iniciar una aplicación haciendo clic con el botón derecho en el icono de la aplicación e indicando que desea ejecutar como administrador.

Consulte también

Se aplica a

Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)

Registra la categoría del contador de rendimiento personalizado que contiene los contadores especificados en el equipo local.

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

Parámetros

categoryName
String

Nombre de la categoría del contador de rendimiento personalizado que se va a crear y registrar con el sistema.

categoryHelp
String

Descripción de la categoría personalizada.

counterData
CounterCreationDataCollection

que CounterCreationDataCollection especifica los contadores que se van a crear como parte de la nueva categoría.

Devoluciones

que PerformanceCounterCategory está asociado a la nueva categoría personalizada o al objeto de rendimiento.

Excepciones

Un nombre de contador especificado dentro de la counterData colección es null o una cadena vacía ("").

O bien

Ya existe un contador especificado dentro de la counterData colección.

categoryName es null.

O bien

counterData es null.

categoryType value está fuera del intervalo de los valores siguientes: MultiInstance, SingleInstanceo Unknown.

La categoría ya existe en el equipo local.

O bien

El diseño de la counterData colección es incorrecto para los contadores base. Un contador de tipo AverageCount64, , CounterMultiTimerCounterMultiTimerInverseRawFractionCounterMultiTimer100NsAverageTimer32CounterMultiTimer100NsInverse, , SampleFractiono SampleCounter debe ir seguido inmediatamente de uno de los tipos de contador base (AverageBase, MultiBase, RawBaseo ).SampleBase

Error en una llamada a una API del sistema subyacente.

Código que se ejecuta sin privilegios administrativos intenta leer un contador de rendimiento.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del Create método . En el ejemplo se muestra cómo crear una categoría de contador de rendimiento de instancias múltiples personalizada para el número de pedidos por segundo.

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

Comentarios

El categoryType parámetro especifica si la categoría del contador de rendimiento es de instancia única o de varias instancias. De forma predeterminada, una categoría es una instancia única cuando se crea y se convierte en una instancia múltiple cuando se agrega otra instancia. Las categorías se crean cuando se configura una aplicación y se agregan instancias en tiempo de ejecución. La PerformanceCounterCategoryType enumeración se usa para indicar si un contador de rendimiento puede tener varias instancias.

Las categorías de contadores de rendimiento instaladas con .NET usan memoria compartida independiente, con cada categoría de contador de rendimiento que tenga su propia memoria. Puede especificar el tamaño de la memoria compartida independiente creando un DWORD denominado FileMappingSize en la clave del Registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nombre> de categoría\Rendimiento. El valor FileMappingSize se establece en el tamaño de memoria compartida de la categoría. El tamaño predeterminado es 131072 decimal. Si el valor FileMappingSize no está presente, se usa el valor de fileMappingSize atributo del elemento especificado en el archivo Machine.config, lo que provoca una sobrecarga adicional para el performanceCounters procesamiento de archivos de configuración. Puede realizar una mejora del rendimiento para el inicio de la aplicación estableciendo el tamaño de asignación de archivos en el Registro.

Note

Se recomienda encarecidamente crear nuevas categorías de contadores de rendimiento durante la instalación de la aplicación, no durante la ejecución de la aplicación. Esto permite que el sistema operativo actualice su lista de categorías de contadores de rendimiento registrados. Si no se ha actualizado la lista, se producirá un error al intentar usar la categoría.

Note

Para leer los contadores de rendimiento de una sesión de inicio de sesión no interactiva en Windows Vista y versiones posteriores, Windows XP Professional x64 Edition o Windows Server 2003, debe ser miembro del grupo Usuarios del Monitor de rendimiento o tener privilegios administrativos.

Para evitar tener que elevar sus privilegios para acceder a los contadores de rendimiento en Windows Vista y versiones posteriores, agréguese al grupo Usuarios del Monitor de rendimiento.

En Windows Vista y versiones posteriores, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario. Si es miembro del grupo Administradores integrados, se le asignan dos tokens de acceso en tiempo de ejecución: un token de acceso de usuario estándar y un token de acceso de administrador. De forma predeterminada, está en el rol de usuario estándar. Para ejecutar el código que accede a los contadores de rendimiento, primero debe elevar sus privilegios de usuario estándar a administrador. Puede hacerlo al iniciar una aplicación haciendo clic con el botón derecho en el icono de la aplicación e indicando que desea ejecutar como administrador.

Consulte también

Se aplica a