Condividi tramite


Novità dei contatori delle prestazioni

Questa sezione descrive le nuove funzionalità aggiunte ai contatori delle prestazioni per ogni versione.

Windows 10 20H1

Se si leggono i dati sulle prestazioni direttamente dal Registro di sistema, è ora possibile eseguire una raccolta di soli metadati per evitare operazioni non necessarie quando si crea un elenco di oggetti prestazioni e contatori disponibili. Se si usa MetadataGlobal anziché Global nella query, tutte le DLL del provider abilitate per i metadati ignorano il passaggio di raccolta dati, migliorando potenzialmente le prestazioni delle query nei sistemi con molti processi o thread. Le DLL del provider che non sono abilitate per i metadati continueranno a funzionare come in precedenza.

Se si forniscono dati sulle prestazioni usando una DLL per le prestazioni, è possibile implementare il supporto per la raccolta di soli metadati per evitare la raccolta di dati non necessaria. Aggiornare la Collect funzione per rispondere alle MetadataGlobal query e MetadataCostly con solo i metadati (usare PERF_METADATA_NO_INSTANCES o PERF_METADATA_MULTIPLE_INSTANCES per NumInstances e omettere tutti i PERF_INSTANCE_DEFINITION blocchi dalla risposta), quindi aggiungere un Collect Supports Metadata valore del Registro di sistema con REG_DWORD il valore 1 alla sottochiave del Performance servizio.

Windows 7 e Windows Server 2008 R2

Lo strumento CTRPP è stato modificato per migliorare e semplificare la generazione del codice. Lo strumento genera ora solo un'intestazione e un file di risorse. Se si vuole eseguire il comportamento di generazione del codice precedente (scelta non consigliata), è possibile usare il nuovo -legacy argomento.

  • È ora necessario specificare i nuovi -o argomenti e -rc che specificano rispettivamente il nome e il percorso dell'intestazione e del file di risorse.
  • È possibile usare il nuovo -prefix argomento facoltativo per specificare una stringa da aggiungere all'inizio delle variabili globali e delle funzioni definite nel file di intestazione generato.
  • Se è necessario aggiornare il manifesto dei contatori, l'uso della nuova generazione di codice elimina la necessità di unire l'implementazione di callback precedente con il nuovo codice generato perché i callback non sono più inclusi nel codice generato.

Per gli elementi manifesto seguenti è disponibile un nuovo symbol attributo:

L'attributo symbol è obbligatorio per provider e counterSet ed è facoltativo per il contatore. L'attributo consente di specificare un nome simbolico che è possibile usare per fare riferimento a ogni elemento quando si chiamano le funzioni del provider( ad esempio, è possibile usare il nome simbolico del set di contatori quando si chiama PerfCreateInstance).

Windows Vista

L'architettura dei contatori delle prestazioni per fornire i dati dei contatori è stata completamente modificata per questa versione.

In precedenza, è stato usato un file INI per definire i dati del contatore ed è stata implementata una DLL delle prestazioni eseguita nel processo del consumer per fornire i dati quando un consumer lo ha richiesto. Questa architettura è deprecata e non è consigliata per il nuovo codice a causa di problemi significativi di prestazioni e affidabilità.

La nuova architettura usa un manifesto per definire i dati del contatore ed esegue il codice nel processo del provider per fornire i dati quando un consumer lo richiede. Per altri dettagli, vedere Fornire dati dei contatori con la versione 2.0.

Per questa versione sono state aggiunte le funzioni seguenti:

Per questa versione sono state aggiunte le strutture seguenti:

Per un elenco degli elementi XML utilizzati nel manifesto per definire i contatori, vedere Schema dei contatori delle prestazioni.

Per informazioni sullo strumento di pre-processore CTRPP che analizza il manifesto e genera il codice usato come punto di partenza per il provider, vedere CTRPP.