C# 如何使用性能计数器跟踪应用程序吞吐量
我试图使用c#的性能计数器来跟踪应用程序(实际上是windows服务)的吞吐量。但我有一个关于如何解决这个问题的问题。。。我的应用程序解析XML文档,我想监控每单位时间解析多少文档。 每次解析文档时,我都会使用_counter.Increment(),但这总会给出解析的文档总数(平面图)。我想做一个很好的绘图,在这里我可以设置采样间隔,并得到该间隔内的计数 这是否可以使用性能计数器,或者我应该采取不同的方法C# 如何使用性能计数器跟踪应用程序吞吐量,c#,windows-services,performancecounter,C#,Windows Services,Performancecounter,我试图使用c#的性能计数器来跟踪应用程序(实际上是windows服务)的吞吐量。但我有一个关于如何解决这个问题的问题。。。我的应用程序解析XML文档,我想监控每单位时间解析多少文档。 每次解析文档时,我都会使用_counter.Increment(),但这总会给出解析的文档总数(平面图)。我想做一个很好的绘图,在这里我可以设置采样间隔,并得到该间隔内的计数 这是否可以使用性能计数器,或者我应该采取不同的方法 谢谢。解析完文件后,您可以随时减小计数器。通过这种方式,您可以获得任意一个时间点的活动解
谢谢。解析完文件后,您可以随时减小计数器。通过这种方式,您可以获得任意一个时间点的活动解析数,这将实际为您提供一个非线性图,因为这些解析将占用不同的时间间隔。最简单的方法是存储文档完成时的时间戳(因此是一个大数组) 根据这些数据,您可以轻松地扣除完成的总数、处理速度、每个时间步的速度变化等
可以使用excel(仅在开始时)进行这些统计,然后使用一些奇特的图形库,您可以将其添加到软件中如果您想查看需要使用不同计数器类型的项目速率(例如每秒)。例如: PerformanceCounterType.RateOfCountsPerSecond32
如果您为每个项目增加此值,它将以每秒计数而不是总计数的形式显示在性能中(这是您通过PerformanceCounterType.NumberOfItems32获得的)。不确定。我一直在看类似的文章,并将本文作为指南: