Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用性能计数器跟踪应用程序吞吐量_C#_Windows Services_Performancecounter - Fatal编程技术网

C# 如何使用性能计数器跟踪应用程序吞吐量

C# 如何使用性能计数器跟踪应用程序吞吐量,c#,windows-services,performancecounter,C#,Windows Services,Performancecounter,我试图使用c#的性能计数器来跟踪应用程序(实际上是windows服务)的吞吐量。但我有一个关于如何解决这个问题的问题。。。我的应用程序解析XML文档,我想监控每单位时间解析多少文档。 每次解析文档时,我都会使用_counter.Increment(),但这总会给出解析的文档总数(平面图)。我想做一个很好的绘图,在这里我可以设置采样间隔,并得到该间隔内的计数 这是否可以使用性能计数器,或者我应该采取不同的方法 谢谢。解析完文件后,您可以随时减小计数器。通过这种方式,您可以获得任意一个时间点的活动解

我试图使用c#的性能计数器来跟踪应用程序(实际上是windows服务)的吞吐量。但我有一个关于如何解决这个问题的问题。。。我的应用程序解析XML文档,我想监控每单位时间解析多少文档。 每次解析文档时,我都会使用_counter.Increment(),但这总会给出解析的文档总数(平面图)。我想做一个很好的绘图,在这里我可以设置采样间隔,并得到该间隔内的计数

这是否可以使用性能计数器,或者我应该采取不同的方法


谢谢。

解析完文件后,您可以随时减小计数器。通过这种方式,您可以获得任意一个时间点的活动解析数,这将实际为您提供一个非线性图,因为这些解析将占用不同的时间间隔。

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

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


可以使用excel(仅在开始时)进行这些统计,然后使用一些奇特的图形库,您可以将其添加到软件中

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

PerformanceCounterType.RateOfCountsPerSecond32


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

不确定。我一直在看类似的文章,并将本文作为指南: