2009-03-05 9 views
0

J'essaie de C# PerformanceCounter Library partie de System.Diagnostic. Lors de la définition de la valeur brute du compteur à l'aide deC# performanceCounter réglage de la valeur brute du compteur

public long RawValue {set; obtenir; }

Je passais la Rawalue à 0. Cependant, j'ai remarqué que la valeur maximale du compteur a été réinitialisée à un très grand nombre. Valeur précédente du compteur était 2

que quelqu'un peut me aider et signaler toute erreur que je pourrais être faire, voici mon code

using (PerformanceCounter ctr = new  
PerformanceCounter(Settings.Instance.SetSourceAppliacationName, counter.ToString(), false)) 
{ 
    if (incrementCounter) 
    { 
     ctr.IncrementBy(value); 
    } 
    else 
    { 
     ctr.RawValue = value; 
    } 
} 

Répondre

1

Je ne pense pas que vous êtes vraiment faire une erreur.

La valeur maximale n'est pas une fonctionnalité du PerformanceCounter lui-même; C'est une partie de l'outil de surveillance (comme PerfMon). Vous ne pouvez pas le définir à l'aide de la classe PerformanceCounter.

Une chose que vous pourriez vouloir faire est de mettre le RawValue à zéro avant que votre application commence à essayer d'appliquer des données utiles. Cela peut être difficile si vous avez plusieurs applications utilisant une catégorie d'instance unique (PerformanceCounterCategoryType.SingleInstance) ou le même nom d'instance (comme un nom d'instance "total" pour PerformanceCounterCategoryType.MultiInstance.

Le nombre très élevé est probablement juste un nombre aléatoire d'un bloc de mémoire non initialisé qui est utilisé pour stocker la variable de compteur de performance. Étant donné que plusieurs applications peuvent tenter d'accéder à un compteur de performances en cours en instanciant un nouvel objet PerformanceCounter, ce processus d'instanciation ne définit pas automatiquement la valeur sur zéro, par conception.

+0

Je serais surpris si toute l'équipe de développement de PerfMon ne pensait pas qu'il était nécessaire d'initialiser la variable d'intérêt de l'utilisateur primaire à zéro. –

Questions connexes