Condividi tramite


Procedura: creare contatori delle prestazioni personalizzati

Aggiornamento: novembre 2007

Quando si crea un nuovo contatore, si crea prima una categoria, poi si specificano uno o più contatori da inserire in essa. A tale proposito, è possibile procedere come indicato di seguito:

Quando si creano contatori e categorie, è necessario considerare due fattori fondamentali. In primo luogo, non è possibile creare categorie e contatori personalizzati su computer remoti. In secondo luogo, l'interazione con le categorie e i contatori personalizzati è limitata alla sola lettura, a meno che non si specifichi diversamente. In sola lettura non sono possibili l'incremento e l'impostazione di valori né elaborati né di altro genere. Per ottenere un contatore personalizzato su cui sia possibile scrivere, utilizzare la proprietà ReadOnly.

È importante tenere presente la differenza tra la creazione di un contatore e la creazione di un'istanza del componente PerformanceCounter. Quando si crea un contatore, si crea una nuova categoria e i rispettivi contatori associati nel sistema operativo Windows, non un componente del progetto o dell’applicazione. Quando si crea un'istanza del componente PerformanceCounter, si crea un componente all'interno del progetto di Visual Studio che fa riferimento a un contatore esterno.

Nota:

Esistono restrizioni di protezione che influiscono sulla possibilità dell'utente di utilizzare i contatori delle prestazioni. Per ulteriori informazioni, vedere Introduzione al monitoraggio dei valori limite delle prestazioni.

Nota sulla sicurezza:

Quando si crea un contatore delle prestazioni, tenere presente che la risorsa potrebbe essere già esistente. Un altro processo, magari dannoso, potrebbe avere già creato la risorsa e potrebbe essere in grado di accedervi. Le informazioni inserite nel contatore delle prestazioni diventano disponibili ad altri processi.

Nota:

La classe PerformanceCounter non è completamente supportata in Microsoft Windows NT versione 4.0. È possibile leggere dai contatori di sistema, ma non è possibile creare o eliminare i contatori personalizzati, né scrivervi.

Nota:

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Per creare una nuova categoria e un nuovo contatore delle prestazioni personalizzato in fase di progettazione

  1. Aprire Esplora server ed espandere il nodo corrispondente al server che si desidera visualizzare.

    Nota:

    Se il server desiderato non è presente nell'elenco, è necessario aggiungerlo. Per ulteriori informazioni, vedere Procedura: accedere e inizializzare Esplora server/Esplora database.

  2. Fare clic con il pulsante destro del mouse sul nodo Contatori delle prestazioni e selezionare Crea nuova categoria.

    Verrà visualizzata la finestra di dialogo Generatore contatori delle prestazioni.

    Nota:

    Per accedere ai contatori delle prestazioni è necessario essere un membro del gruppo di sicurezza che ha accesso ai contatori delle prestazioni, ad esempio il gruppo Performance Monitor Users. Inoltre, è possibile ricevere richieste su Windows Vista quando si tenta di eseguire un'azione che richiede privilegi elevati, anche durante l'esecuzione con autorizzazioni amministrative. Per ulteriori informazioni, vedere Windows Vista e Visual Studio.

  3. Immettere un nome e una descrizione per la categoria da creare.

    Nota:

    Se si specifica il nome di una categoria esistente, viene generato un errore. Per sovrascrivere una categoria di contatori esistente, è prima necessario eliminarla usando il metodo Delete, quindi aggiungere una nuova categoria.

  4. Nel frame Generatore elenco contatori, procedere come indicato di seguito:

    1. Scegliere il pulsante Nuovo.

    2. Nel frame Contatore specificare un nome per il contatore da creare all'interno della categoria.

    3. Scegliere un tipo dall'elenco a discesa Tipo.

    4. Immettere una descrizione per il contatore.

  5. Ripetere il passaggio 4 per ciascun contatore da creare nella categoria.

    Suggerimento:

    Prima di chiudere la finestra di dialogo, è possibile selezionare uni dei contatori presenti nell’elenco Contatori per modificarne i valori oppure eliminarli.

    Nota:

    Per impostazione predefinita, le categorie e i contatori creati nella finestra di dialogo sono abilitati per la lettura e la scrittura. Se si utilizza tuttavia un'istanza del componente PerformanceCounter, tali elementi risultano in sola lettura, se non diversamente specificato.

Per creare una nuova categoria e un insieme di contatori delle prestazioni a livello di codice

  1. Creare un insieme di tipo CounterCreationDataCollection.

  2. Creare i contatori che si desidera configurare come oggetti di tipo CounterCreationData e impostarne le proprietà necessarie.

  3. Aggiungere gli oggetti CounterCreationData all’insieme chiamando il relativo metodo Add.

  4. Chiamare il metodo Create della classe PerformanceCounterCategory e passarvi l’insieme.

    Nell’esempio seguente viene mostrato come creare una serie di contatori e passarli alla categoria quando la si crea:

    ' Create a collection of type CounterCreationDataCollection.
    Dim CounterDatas As New CounterCreationDataCollection()
    ' Create the counters and set their properties.
    Dim cdCounter1 As New CounterCreationData()
    Dim cdCounter2 As New CounterCreationData()
    cdCounter1.CounterName = "MyCounter1"
    cdCounter1.CounterHelp = "help string"
    cdCounter1.CounterType = PerformanceCounterType.NumberOfItems64
    cdCounter2.CounterName = "MyCounter2"
    cdCounter2.CounterHelp = "help string 2"
    cdCounter2.CounterType = PerformanceCounterType.NumberOfItems64
    ' Add both counters to the collection.
    CounterDatas.Add(cdCounter1)
    CounterDatas.Add(cdCounter2)
    ' Create the category and pass the collection to it.
    PerformanceCounterCategory.Create("Multi Counter Category", _
        "Category help", PerformanceCounterCategoryType.SingleInstance, _
        CounterDatas)
    
         // Create a collection of type CounterCreationDataCollection.
            System.Diagnostics.CounterCreationDataCollection CounterDatas =
               new System.Diagnostics.CounterCreationDataCollection();
            // Create the counters and set their properties.
            System.Diagnostics.CounterCreationData cdCounter1 =
               new System.Diagnostics.CounterCreationData();
            System.Diagnostics.CounterCreationData cdCounter2 =
               new System.Diagnostics.CounterCreationData();
            cdCounter1.CounterName = "Counter1";
            cdCounter1.CounterHelp = "help string1";
            cdCounter1.CounterType = System.Diagnostics.PerformanceCounterType.NumberOfItems64;
            cdCounter2.CounterName = "Counter2";
            cdCounter2.CounterHelp = "help string 2";
            cdCounter2.CounterType = System.Diagnostics.PerformanceCounterType.NumberOfItems64;
            // Add both counters to the collection.
            CounterDatas.Add(cdCounter1);
            CounterDatas.Add(cdCounter2);
            // Create the category and pass the collection to it.
            System.Diagnostics.PerformanceCounterCategory.Create(
                "Multi Counter Category", "Category help",
                PerformanceCounterCategoryType.SingleInstance, CounterDatas);
    

Vedere anche

Attività

Procedura: creare categorie di contatori delle prestazioni

Concetti

Gestione di categorie e contatori

Riferimenti

Procedura: accedere e inizializzare Esplora server/Esplora database