2012-04-06 11 views
0

Ich habe dieses einfache Leistungsindikator Setup. Die Sache ist, dass dieser Leistungszähler völlig nutzlos ist. Es misst den Prozentsatz der CPU-Auslastung für eine Zeitspanne von 60 Sekunden und protokolliert die Anzahl. Was ich tun muss, ist irgendwie die Daten zu filtern, so dass es nur die Zahlen mit hoher CPU-Auslastung, wie 80% + protokolliert. Ich möchte das Protokoll nicht mit Mülldaten aufblasen.Filtern von Diagnose Leistungsindikatoren

diagnosticMonitorConfiguration.PerformanceCounters.ScheduledTransferPeriod = TimeSpan.FromMinutes(2D); 
diagnosticMonitorConfiguration.PerformanceCounters.BufferQuotaInMB = 10; 
TimeSpan perfSampleRate = TimeSpan.FromSeconds(60D); 

diagnosticMonitorConfiguration.PerformanceCounters.DataSources.Add(new PerformanceCounterConfiguration() 
{ 
    CounterSpecifier = @"\Processor(_Total)\% Processor Time", 
    SampleRate = perfSampleRate 
}); 

Antwort

0

Was Sie anfordern, ist nicht wirklich möglich. Sie können CPU-Werte in die Tabelle so oft wie einmal pro Minute pro Instanz übertragen. Sie sollten jedoch eine benutzerdefinierte Abfrage für die WADPerformanceCountersTable verwenden, um Werte zu erhalten, die nur einen bestimmten Schwellenwert überschreiten.

Was möchten Sie tun? Endziel?