Compartir a través de


Crear otras entradas del Registro

Como se describe en Creación de la clave de rendimiento de la aplicación, un componente que proporciona datos del contador de rendimiento debe tener una clave de rendimiento en la clave de servicios y la clave de rendimiento debe contener valores Library, Open, Collect y Close . En algunos casos, es posible que el componente tenga que configurar valores adicionales del Registro.

Metadatos

MetadataGlobaly MetadataCostly son consultas de solo metadatos generadas por Windows 10 20H1 y versiones posteriores. Permiten a un usuario obtener metadatos (información de objeto e información de contador) sin realizar una recopilación de datos potencialmente costosa. Se espera que la consulta de solo metadatos devuelva los mismos resultados que la consulta o Costly correspondienteGlobal, excepto que NumInstances se debe establecer PERF_METADATA_MULTIPLE_INSTANCES en (para un objeto de instancia múltiple) o PERF_METADATA_NO_INSTANCES (para un objeto de instancia única) y el resultado debe omitir todos los PERF_INSTANCE_DEFINITION bloques.

Si el archivo DLL de rendimiento admite MetadataGlobal y MetadataCostly tipos de consulta, debe indicarlo agregando un REG_DWORD valor Collect Supports Metadata a su Performance clave y estableciendo el valor en 1. Si Collect Supports Metadata no está presente o se establece en 0, una consulta de solo metadatos se revertirá a una Global consulta o Costly .

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name
               \Performance
                  Collect Supports Metadata = 1

Vinculación

La función OpenPerformanceData de la DLL de rendimiento toma un argumento de cadena como entrada. Para proporcionar una cadena de entrada a la función abierta, incluya una clave de vinculación en la clave de servicios . La clave de vinculación contiene un valor export . Establezca los datos de valor de Export en la cadena de entrada que desea pasar a la función abierta. El tipo de datos de Export es REG_MULTI_SZ.

Si no se define Export (Export es opcional), el sistema pasa NULL a la función OpenPerformanceData .

Normalmente, si más de una aplicación comparte el mismo archivo DLL de rendimiento, cada aplicación incluye una clave de vinculación y un valor de exportación para proporcionar contexto en el que la aplicación llama al archivo DLL.

A continuación se muestran las entradas del Registro:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name-1
               \Linkage
                  Export = app-1 context strings
               \Performance
                  Library = perfctrs.dll
            \application-name-2
               \Linkage
                  Export = app-2 context strings
               \Performance
                  Library = perfctrs.dll

Tiempo de espera

De forma predeterminada, las funciones OpenPerformanceData y CollectPerformanceData del archivo DLL de rendimiento deben devolverse en 10 000 milisegundos. Si no es así, el sistema no usa los datos que devuelve el archivo DLL. La aplicación puede aumentar o disminuir el valor de tiempo de espera especificando un valor de Registro De tiempo de espera abierto o Recopilación de tiempo de espera en su clave de rendimiento , tal como se muestra en el ejemplo siguiente.

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Services
            \application-name
               \Performance
                  Open Timeout = Timeout value for your open function, in milliseconds
                  Collect Timeout = Timeout value for your collect function, in milliseconds

Dispositivos DOS

Para obtener los datos de rendimiento de algunas aplicaciones (aquellos que devuelven contadores mediante la función DeviceIoControl ), es necesario usar la función CreateFile para abrir el dispositivo asociado a la aplicación. En este caso, el nombre especificado en CreateFile también debe instalarse en el nodo Dos Devices del Registro, como se muestra aquí:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \Session Manager
               \DOS Devices