我有一个 Windows 服务,其中有一些性能计数器。我有另一个应用程序,它监视服务正在做什么,包括性能计数器,以便在一个地方找到所有东西并可用。但是,我似乎遇到了 RateOfCountsPerSecond32 类型的性能计数器之一的问题。如果我查看 Perfmon 上的计数器,一切似乎都很好,这个特定的计数器给出了一个合理的值,但在我的监控应用程序中,计数器总是提供 0 作为它的 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)