Cette documentation est archivée et n’est pas conservée.

Comment : créer des compteurs de performance personnalisés

Lorsque vous créez un compteur, vous créez d'abord une catégorie, puis vous spécifiez un ou plusieurs compteurs qui y seront placés. Pour ce faire, vous pouvez procéder de différentes façons :

Il convient d'évoquer deux problèmes relatifs à la création de compteurs et de catégories. D'une part, vous ne pouvez pas créer de catégories et de compteurs personnalisés sur des ordinateurs distants. D'autre part, votre champ d'action avec les catégories et les compteurs personnalisés est limité au mode Lecture seule, sauf indication contraire de votre part. En mode Lecture seule, vous ne pouvez ni les incrémenter, ni les décrémenter, ni même définir de valeur brute ou d'autres valeurs au sein de ces compteurs et catégories. Pour affecter à un compteur personnalisé le mode en écriture, vous ne pouvez utiliser que la propriété ReadOnly.

Il est important de noter qu'il existe une différence entre créer un compteur et créer une instance du composant PerformanceCounter. Lorsque vous créez un compteur, vous constituez dans le système d'exploitation Windows une nouvelle catégorie avec les compteurs qui lui sont associés et non un composant dans votre projet ou votre application. Lorsque vous créez une instance du composant PerformanceCounter, vous créez un composant au sein de votre projet Visual Studio référençant un compteur externe.

RemarqueRemarque

Certaines restrictions de sécurité s'appliquent à l'utilisation des compteurs de performance. Pour plus d'informations, consultez Introduction à l'analyse des seuils de performance.

Remarque de sécuritéRemarque de sécurité

Sachez, lorsque vous créez un compteur de performance, que la ressource peut déjà exister. Il est possible qu'un autre processus, peut-être nuisible, ait déjà créé la ressource et puisse y accéder. Lorsque vous placez des données dans le compteur de performance, elles sont disponibles pour les autres processus.

RemarqueRemarque

La classe PerformanceCounter n'est pas entièrement prise en charge sur Microsoft Windows NT version 4.0. Vous pouvez lire des données à partir des compteurs système, mais vous ne pouvez pas créer ou supprimer des compteurs personnalisés, ni y écrire.

RemarqueRemarque

Selon vos paramètres actifs ou votre édition, les boîtes de dialogue et les commandes de menu que vous voyez peuvent différer de celles qui sont décrites dans l'aide. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Pour créer une catégorie et un compteur de performance personnalisé au moment du design

  1. Ouvrez l'Explorateur de serveurs et développez le nœud du serveur que vous souhaitez voir.

    RemarqueRemarque

    Si le serveur souhaité ne figure pas dans la liste, vous devez l'ajouter. Pour plus d'informations, consultez Comment : accéder à l'Explorateur de serveurs/bases de données et l'initialiser.

  2. Cliquez avec le bouton droit sur le nœud Performance Counters et sélectionnez Créer une nouvelle catégorie.

    Vous voyez s'afficher la boîte de dialogue Générateur de compteurs de performance.

  3. Entrez un nom et une description pour la nouvelle catégorie.

    RemarqueRemarque

    Si vous spécifiez le nom d'une catégorie existante, une erreur se produit. Pour remplacer une catégorie de compteurs existante, supprimez-la à l'aide de la méthode Delete, puis ajoutez une nouvelle catégorie.

  4. Dans le frame Générateur de liste de compteurs, procédez comme suit :

    1. Cliquez sur le bouton Nouveau.

    2. Dans le frame Compteur, spécifiez un nom pour le compteur à créer dans la catégorie.

    3. Sélectionnez un type dans la liste déroulante Type.

    4. Entrez une description pour le compteur.

  5. Répétez les étapes 4 et 5 pour chaque compteur à créer dans cette catégorie.

    RemarqueConseil

    Avant de quitter la boîte de dialogue, vous pouvez sélectionner des compteurs dans la liste Compteurs pour modifier leurs valeurs ou pour les supprimer.

    RemarqueRemarque

    Les compteurs et les catégories que vous créez dans la boîte de dialogue sont par défaut en lecture/écriture, mais votre interaction sur ces compteurs via une instance du composant PerformanceCounter se limite à la lecture seule sauf spécification contraire de votre part.

Pour créer une catégorie et un groupe de compteurs de performance par programme

  1. Crée une collection de type CounterCreationDataCollection.

  2. Créez les compteurs souhaités en tant qu'objets de type CounterCreationData et définissez leurs propriétés comme nécessaire.

  3. Ajoutez les objets CounterCreationData à la collection en appelant la méthode Add de la collection.

  4. Appelez la méthode Create de la classe PerformanceCounterCategory et passez-lui la collection.

    L'exemple suivant montre comment créer un ensemble de compteurs et les passer à la catégorie lorsque vous la constituez :

    // 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);
    
    

    // 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.set_CounterName("Counter1");
    cdCounter1.set_CounterHelp("help string1");
    cdCounter1.set_CounterType(System.Diagnostics.PerformanceCounterType.NumberOfItems64);
    cdCounter2.set_CounterName("Counter2");
    cdCounter2.set_CounterHelp("help string 2");
    cdCounter2.set_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);
    

Voir aussi

Afficher: