Bonjour,
J'ai développé plusieurs services Windows en .net, je souhaite à présent en mesurer les performances via la class PerformanceCounter. Afin de réaliser ceci j'utilise le code suivant :
Mon problème est que lors de l'appel de la méthode NextValue() j'ai une exception indiquant que le service n'est pas dans la bonne catégorie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // processName = Nom du service _cpuCounter = new PerformanceCounter("Process", "% Processor Time", processName); processorTime = (double) _cpuCounter.NextValue();
Code : Sélectionner tout - Visualiser dans une fenêtre à part L'instance*'BlueCurve-Integration' n'existe pas dans la catégorie spécifiée.
Stacktrace :
J'avoue ne pas trop comprendre cette histoire de catégorie, et ne pas être un habitué des compteurs de performance.à System.Diagnostics.CounterDefinitionSample.GetInstanceValue(String instanceName)
à System.Diagnostics.PerformanceCounter.NextSample()
à System.Diagnostics.PerformanceCounter.NextValue()
à TelemetryProbe.ApplicationMetrics.GetMetrics(Double& processorTime, UInt64& memUsage, UInt64& threadCounter) dans C:\Dev\BlueCurve\Dev\Management\TelemetryProbe.Dev\Metrics.cs:ligne 80
à TelemetryProbe.Service1.<>c.<Measure>b__10_0(ApplicationMetrics application) dans C:\Dev\BlueCurve\Dev\Management\TelemetryProbe.Dev\Service1.cs:ligne 123
Avez-vous une idée de ce qui cloche dans mon code ?
Je vous remercie par avance de votre aide.
Cordialement.
Partager