我有一個Windows服務,它有一些性能計數器。我有另一個應用程序來監視服務在做什麼,包括性能計數器的方式,一切都在一個地方找到和可用。不過,我似乎遇到類似RateOfCountsPerSecond32類型的性能計數器的問題。如果我看Perfmon上的計數器一切似乎都很好,這個特定的計數器會給出一個合理的值,但是在我的監視應用程序中,計數器始終提供0作爲NextValue。性能計數器 - 似乎得到正確的NextValue
下面是我用來檢索給定類別的計數器代碼:
PerformanceCounterCategory pcc = new PerformanceCounterCategory(comboBox1.SelectedItem.ToString());
string stats = string.Empty;
foreach (var counter in pcc.GetCounters())
{
stats += string.Format("{0}:\t {1} : {2}\r\n\r\n", counter.CounterName, counter.NextValue(), counter.RawValue);
}
lblTps.Text = stats;
這隻似乎與這種特殊類型的計數器的問題。
任何人都可以注意到這個問題嗎? (比其它我應該使用一個StringBuilder)
所以這坐落在一個循環,進行一次第二...但不論我讓多久運行它總是說0 – Zholen
必須在同一呼叫** NextValue()**兩次PerformanceCounter對象使其工作。我擔心你每次在你的循環中調用** NextValue()**時都會創建新的PerformanceCounter實例。 –