Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

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

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

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

public static PerformanceCounterCategory Create(
	string categoryName,
	string categoryHelp,
	PerformanceCounterCategoryType categoryType,
	CounterCreationDataCollection counterData
)

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.
counterData
Tipo: System.Diagnostics.CounterCreationDataCollection
CounterCreationDataCollection que especifica los contadores que se van a crear como parte de la nueva categoría.

Valor devuelto

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

ExcepciónCondición
ArgumentException

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

O bien

Un contador especificado dentro de la colección counterData ya existe.

O bien

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

ArgumentNullException

El valor de categoryName es null.

O bien

counterData es null.

ArgumentOutOfRangeException

El valor de categoryType está fuera del intervalo de los valores siguientes: MultiInstance, SingleInstance o Unknown.

InvalidOperationException

Ya existe la categoría en el equipo local.

O bien

El diseño de la colección counterData es incorrecto para los contadores base. Un contador de tipo AverageCount64, AverageTimer32, CounterMultiTimer, CounterMultiTimerInverse, CounterMultiTimer100Ns, CounterMultiTimer100NsInverse, RawFraction, SampleFraction o SampleCounter debe ir seguido inmediatamente de uno de los tipos de contador base (AverageBase, MultiBase, RawBase o SampleBase).

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.

NotaNota

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.

NotaNota

Para leer los contadores de rendimiento de Windows Vista y versiones posteriores, 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 y versiones posteriores, agregue su propio usuario al grupo Usuarios del monitor de sistema.

En Windows Vista y posteriores, 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 varias instancias 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);


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft