C# 性能计数器定时器100ns。如何?
我有一个应用程序,它监视一个特定的事件,然后一旦它发生就开始计算。事件是不规则的,可以以任何模式出现,从一秒钟内的一束到很长一段时间内没有 我想测量应用程序繁忙的%%时间(类似于CPU%使用率) 我想使用C# 性能计数器定时器100ns。如何?,c#,performance,C#,Performance,我有一个应用程序,它监视一个特定的事件,然后一旦它发生就开始计算。事件是不规则的,可以以任何模式出现,从一秒钟内的一束到很长一段时间内没有 我想测量应用程序繁忙的%%时间(类似于CPU%使用率) 我想使用Timer100Ns计数器 两个问题: 我是否通过硬件刻度或日期时间刻度(例如,如果我使用秒表-我是否使用sw.ElapsedTicks或sw.Persed.ticks)来增加它 我需要一个基本计数器吗 所以我要写这样的东西: Stopwatch sw = new Stopwatch(); sw
Timer100Ns
计数器
两个问题:
Stopwatch sw = new Stopwatch();
sw.Start();
// Do some operation which is irregular by nature
sw.Stop();
// Measure utilization of the application
myCounterOfTypeTimer100Ns.IncrementBy(sw.Elapsed.Ticks);
行吗
编辑:我尝试了一下,现在它更让人困惑了。。它实际上显示了我增加它的值。不是%。谜团解开了。目前看来,我并没有按照预期的方式使用它(或者更确切地说,我没有正确地阅读TFM)。如果采样间隔为1s(如在perf mon live窗口中),并且间隔大于1s,则显示一个无意义的数字。。。为了达到平滑度,您试图测量的活动必须是1的分数。。否则这个柜台不是个好主意
这类问题的答案(虽然不明显,但仍然令人不安的是,一周内没有人提出这个问题)实际上是
SampleCounter
揭开了谜团。目前看来,我并没有按照预期的方式使用它(或者更确切地说,我没有正确地阅读TFM)。如果采样间隔为1s(如在perf mon live窗口中),并且间隔大于1s,则显示一个无意义的数字。。。为了达到平滑度,您试图测量的活动必须是1的分数。。否则这个柜台不是个好主意
这类问题的答案(虽然不明显,但仍然令人不安的是,一周内没有人提出这个问题)实际上是
SampleCounter
在这门课上没有什么有趣的东西。它只是一个字段的持有者,该字段是Timer100Ns类型的PerformanceCounter。MSDN显示:一个百分比计数器,显示组件的活动时间占采样间隔总运行时间的百分比代码>。。也许还有其他方法。但是我想知道如何使用这个。等一下-它和多计数器有什么关系?一次跟踪多个指标时需要多个计数器。。完全是随机信息,那门课没什么有趣的。它只是一个字段的持有者,该字段是Timer100Ns类型的PerformanceCounter。MSDN显示:一个百分比计数器,显示组件的活动时间占采样间隔总运行时间的百分比代码>。。也许还有其他方法。但是我想知道如何使用这个。等一下-它和多计数器有什么关系?一次跟踪多个指标时需要多个计数器。。完全随机的信息。。