Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

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

 

Publicado: octubre de 2016

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

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

Public Shared Function Create (
	categoryName As String,
	categoryHelp As String,
	categoryType As PerformanceCounterCategoryType,
	counterName As String,
	counterHelp As String
) As PerformanceCounterCategory

Parámetros

categoryName
Type: System.String

El nombre de la categoría de contador de rendimiento personalizado para crear y registrar con el sistema.

categoryHelp
Type: System.String

Descripción de la categoría personalizada.

categoryType
Type: System.Diagnostics.PerformanceCounterCategoryType

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

counterName
Type: System.String

El nombre de un nuevo contador a crear como parte de la nueva categoría.

counterHelp
Type: System.String

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

Valor devuelto

Type: System.Diagnostics.PerformanceCounterCategory

Un PerformanceCounterCategory que está asociado a la nueva categoría del sistema, u objeto de rendimiento.

Exception Condition
ArgumentException

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

O bien

El contador especificado por counterName ya existe.

O bien

counterName tiene una sintaxis no válida. Podría contener caracteres de barra diagonal inversa ("\") o tiene longitud supere los 80 caracteres.

InvalidOperationException

La categoría ya existe en el equipo local.

ArgumentNullException

El valor de categoryName es null.

-o-

El valor de counterHelp es null.

Win32Exception

Error en una llamada a una API del sistema subyacente.

UnauthorizedAccessException

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

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

Categorías de contador de rendimiento instaladas con el .NET Framework 2.0 usar memoria compartida independiente, y cada categoría de contador de rendimiento tiene su propia memoria. Puede especificar el tamaño de memoria compartida independiente creando un DWORD denominado FileMappingSize en la clave del registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\< nombre de la 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, el fileMappingSize valor del atributo para el performanceCounters se utiliza el elemento especificado en el archivo Machine.config, provocando una sobrecarga adicional para el procesamiento del archivo de configuración. Puede conseguir una mejora del rendimiento de inicio de la aplicación estableciendo el tamaño de asignación del archivo en el registro.

System_CAPS_noteNota

Se recomienda encarecidamente que se crean nuevas categorías de contador de rendimiento durante la instalación de la aplicación, no durante la ejecución de la aplicación. Esto da tiempo para el sistema operativo actualizar su lista de categorías de contador de rendimiento registrados. Si no se ha actualizado la lista, se producirá un error al intentar utilizar la categoría.

System_CAPS_noteNota

Para leer los contadores de rendimiento 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 tener acceso 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 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á el rol de usuario estándar. Para ejecutar el código que tiene acceso a los contadores de rendimiento, primero debe elevar sus privilegios de usuario estándar a administrador. Para ello, inicie una aplicación haciendo clic con el botón derecho en el icono de la aplicación e indique que desea ejecutarla como administrador.

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

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

PerformanceCounterPermission

for performing administrative tasks on performance counter categories. Associated enumeration: F:System.Diagnostics.PerformanceCounterPermissionAccess.Administer.

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: