Progettazione di oggetti e contatori
Un oggetto prestazioni è un'entità per cui sono disponibili i dati sulle prestazioni. I contatori delle prestazioni definiscono il tipo di dati disponibili per un oggetto prestazioni. Un'applicazione può fornire informazioni per più oggetti prestazioni. Gli oggetti prestazioni possono contenere contatori a istanza singola o più contatori di istanze. Un singolo oggetto istanza restituisce un singolo set di valori dei contatori.
Un oggetto a più istanze restituisce un'istanza dell'oggetto per ogni occorrenza dell'oggetto controllato dall'applicazione. Ad esempio, un'applicazione SCSI può definire un oggetto unità con due contatori, ad esempio byte letti e byte scritti. Quando il consumer esegue una query sull'oggetto, la DLL delle prestazioni restituisce un'istanza dell'oggetto per ogni unità che controlla l'applicazione.
Dopo aver deciso se l'oggetto supporta una singola istanza o più istanze, è necessario decidere il tipo di contatori che si desidera che l'oggetto fornisca. Ad esempio, è possibile specificare i valori dei contatori visualizzati come valori non elaborati, come percentuali o come percentuali.
Per un elenco dei tipi di contatori predefiniti tra cui scegliere, vedere la sezione Tipi di contatori di Windows Server 2003 Deployment Kit. A seconda del tipo di contatore, è possibile specificare semplicemente i dati non elaborati oppure è anche necessario fornire informazioni sul tempo e sulla frequenza e dati aggiuntivi sui contatori utilizzati dal consumer per calcolare un valore visualizzabile.
Il metodo usato per raccogliere i dati può essere semplice quanto l'incremento di un contatore ogni volta che viene chiamata una routine specifica nell'applicazione oppure può comportare calcoli dispendiosi in termini di tempo. I contatori e i timer devono aumentare e non essere mai cancellati. I contatori possono eseguire il wrapping, purché non eseseguono il wrapping due volte tra essere campionati dal consumer. L'applicazione può raccogliere e archiviare i dati durante la normale esecuzione, purché non influisca sulle prestazioni.
Per alcuni tipi di dati, può essere più efficiente o appropriato raccogliere i dati su richiesta. In questo caso, la DLL delle prestazioni deve comunicare all'applicazione che i dati sono stati richiesti. Per i dati che sono costosi da raccogliere (in termini di tempo del processore o utilizzo della memoria), prendere in considerazione la raccolta dei dati solo quando il consumer richiede dati costosi . Ciò consente a un consumer di richiedere regolarmente dati per tutti i contatori che non sono costosi. I dati possono essere richiesti solo quando necessario. Lo strumento Prestazioni non raccoglie i dati costosi .