Esta documentación está archivada y no tiene mantenimiento.

PerformanceCounterCategory.Create (Método) (String, String, PerformanceCounterCategoryType, String, String)

Actualización: noviembre 2007

Registra la categoría de contador de rendimiento personalizada que contiene un solo contador de tipo NumberOfItems32 en el equipo local.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public static PerformanceCounterCategory Create(
	string categoryName,
	string categoryHelp,
	PerformanceCounterCategoryType categoryType,
	string counterName,
	string counterHelp
)
public static PerformanceCounterCategory Create(
	String categoryName,
	String categoryHelp,
	PerformanceCounterCategoryType categoryType,
	String counterName,
	String counterHelp
)
public static function Create(
	categoryName : String, 
	categoryHelp : String, 
	categoryType : PerformanceCounterCategoryType, 
	counterName : String, 
	counterHelp : String
) : PerformanceCounterCategory

Parámetros

categoryName
Tipo: System.String
Nombre de la categoría de contador de rendimiento personalizada que se va a crear y registrar en el sistema.
categoryHelp
Tipo: System.String
Descripción de la categoría personalizada.
categoryType
Tipo: System.Diagnostics.PerformanceCounterCategoryType
Uno de los valores de PerformanceCounterCategoryType que especifica si la categoría es MultiInstance, SingleInstance o Unknown.
counterName
Tipo: System.String
Nombre de un nuevo contador que se va a crear como parte de la nueva categoría.
counterHelp
Tipo: System.String
Descripción del contador asociado a la nueva categoría personalizada.

Valor devuelto

Tipo: System.Diagnostics.PerformanceCounterCategory
PerformanceCounterCategory que está asociado a la nueva categoría del sistema, u objeto de rendimiento.

ExcepciónCondición
ArgumentException

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

O bien

Ya existe el contador especificado por el parámetro counterName.

O bien

counterName tiene una sintaxis no válida. Puede que contenga caracteres de barra invertida ("\") o que su longitud supere los 80 caracteres.

InvalidOperationException

Ya existe la categoría en el equipo local.

ArgumentNullException

El valor de categoryName es null.

O bien

El valor de counterHelp es null.

Win32Exception

Se ha producido un error en la llamada a una API del sistema subyacente.

UnauthorizedAccessException

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

El parámetro categoryType especifica si la categoría de contador de rendimiento es de una sola instancia o de varias instancias. De manera predeterminada, una categoría es de una sola instancia cuando se crea y se convierte en categoría de varias instancias al agregar otra instancia. Las categorías se crean cuando se configura una aplicación, y las instancias se agregan en tiempo de ejecución. En las versiones 1.0 y 1.1 de .NET Framework, no es preciso saber si la categoría de un contador de rendimiento es de una sola instancia o de varias. En .NET Framework versión 2.0, se utiliza la enumeración PerformanceCounterCategoryType para indicar si un contador de rendimiento puede tener varias instancias.

Las categorías de contador de rendimiento instaladas con .NET Framework 2.0 utilizan memoria compartida independiente, y cada categoría de contador de rendimiento tiene su propia memoria. Se 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>\Performance. El valor de FileMappingSize se establece en el tamaño de memoria compartida de la categoría. El tamaño predeterminado es el valor decimal 131072. Si el valor de FileMappingSize no está presente, se utiliza el valor del atributo fileMappingSize para el elemento performanceCounters especificado en el archivo Machine.config, lo que provoca una sobrecarga adicional en el procesamiento del archivo de configuración. Puede apreciar una mejora del rendimiento en el inicio de la aplicación estableciendo el tamaño de asignación de archivos en el Registro.

cs38wsc4.alert_note(es-es,VS.90).gifNota:

Se recomienda crear nuevas categorías de contador de rendimiento durante la instalación de la aplicación y no durante la ejecución de la misma. De este modo, el sistema operativo dispondrá de tiempo para actualizar la lista de categorías registradas de contador de rendimiento. Si la lista no se ha actualizado, se producirá un error al intentar utilizar la categoría.

cs38wsc4.alert_note(es-es,VS.90).gifNota:

Para leer los contadores de rendimiento de Windows Vista, Windows XP Professional x64 Edition o Windows Server 2003, debe ser miembro del grupo Usuarios del monitor de sistema o tener privilegios administrativos.

Para evitar la elevación de los privilegios de acceso a los contadores de rendimiento en Windows Vista, agregue su propio usuario al grupo Usuarios del monitor de sistema.

En Windows Vista, el Control de cuentas de usuario (UAC) determina los privilegios de un usuario. Si es miembro del grupo Administradores integrados, se le asignarán dos símbolos (tokens) de acceso en tiempo de ejecución: un símbolo (token) de acceso de usuario estándar y un símbolo (token) de acceso de administrador. De forma predeterminada, se le asignará la función de usuario estándar. Para ejecutar el código que tiene acceso a los contadores de rendimiento, primero debe elevar el nivel de sus privilegios de usuario estándar a administrador. Esto se puede hacer cuando se inicia una aplicación haciendo clic con el botón secundario del mouse en el icono de la aplicación e indicando que se desea ejecutar como administrador.

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

Console.WriteLine("Creating Inventory custom counter");
if (!PerformanceCounterCategory.Exists("Inventory"))
    PerformanceCounterCategory.Create("Inventory",
        "Truck inventory",
        PerformanceCounterCategoryType.SingleInstance,
        "Trucks", "Number of trucks on hand");


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0
Mostrar: