2009-12-18 54 views
0

我有一个正在执行一些操作的应用程序。我有一些性能计数器,用于衡量在间隔之间执行操作所需的平均时间。我想要一个计数器,每个时间间隔都会显示自上次间隔以来处理其中一个操作所需的最长时间。性能计数器最大间隔?

一般来说,我使用AverageTimer32实例类型的PerformanceCounter和一个AverageBase实例。我将使用什么样的性能计数器来跟踪间隔之间的最大操作时间?它会如何递增?

回答

1

没有这样的计数器类型。试图实现自己的(读取当前值,比较,如果是新的最大更改)在协议条件下存在缺陷,因为性能计数器没有原子互锁通信交换API。

+0

这是否意味着执行这样的事情是不可能的? – 2009-12-18 19:33:23

+1

您可以使用跟踪最大值并在适当锁定下递增的变量,并将其作为普通绝对计数器发布。 – 2009-12-18 21:09:09

+0

这似乎并不是一个真正的选择。您不能分辨出最后一个时间间隔,因此您无法跟踪自上次间隔以来的最大时间。 – 2009-12-18 23:36:20