1

我正在尝试使用 c# 的性能计数器来跟踪应用程序的吞吐量(实际上是 Windows 服务)。但是我有一个关于如何解决这个问题的问题……我的应用程序解析 XML 文档,我想监控每单位时间解析了多少文档。我每次解析文档时都使用 _counter.Increment() ,但这总是给我解析的文档总数(平面图)。我想制作漂亮的图,我可以在其中设置要采样的间隔,并在该间隔内获取计数。

这可以使用性能计数器还是我应该采取不同的方法?

谢谢。

4

3 回答 3

3

如果您想查看项目的速率(例如每秒),您需要使用不同的计数器类型。例如:

PerformanceCounterType.RateOfCountsPerSecond32

如果您为每个项目增加此值,它将在性能中显示为每秒计数而不是总计数(这是您使用 PerformanceCounterType.NumberOfItems32 获得的)。

于 2009-10-13T09:50:08.310 回答
0

完成文件解析后,您始终可以递减计数器。这样,您可以在任何一个时间点获得活动解析的数量,这实际上会给您一个非线性图,因为这些解析将采用不同的间隔。

于 2009-10-13T09:48:10.387 回答
0

最简单的方法是存储文档完成的时间戳(所以一个大数组)

给定这些数据,您可以轻松扣除总完成量、处理速度、每个时间步的速度变化等。

可以使用 excel 进行这些统计(只是开始),然后使用一些精美的图表库,您可以将其添加到您的软件中

于 2009-10-13T09:48:33.007 回答