Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.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# ASP.NET性能计数器_C#_Asp.net - Fatal编程技术网

C# ASP.NET性能计数器

C# ASP.NET性能计数器,c#,asp.net,C#,Asp.net,我正在使用asp.net web api 2.0和Elastic/Logstash/Kibana堆栈。 现在我想测量我的方法需要完成多长时间。我尝试过的事情: 操作筛选器属性/AOP 我将Stopwatch的一个实例放入request.properties中,并以这种方式测量它。可以肯定的是,我可以连接方法名称和值,并且很容易将结果放入logstash。但如果可能的话,我正在寻找一种更通用的方法,可能已经在asp.net中实现了 ASP.NET性能计数器 我找到了请求执行时间指标,可以检查pe

我正在使用asp.net web api 2.0和Elastic/Logstash/Kibana堆栈。 现在我想测量我的方法需要完成多长时间。我尝试过的事情:

  • 操作筛选器属性/AOP 我将Stopwatch的一个实例放入request.properties中,并以这种方式测量它。可以肯定的是,我可以连接方法名称和值,并且很容易将结果放入logstash。但如果可能的话,我正在寻找一种更通用的方法,可能已经在asp.net中实现了

  • ASP.NET性能计数器 我找到了请求执行时间指标,可以检查perfmon上的值。我无法将这些值连接到请求,因为我只获取属于最后一个请求的值,而不是当前的值(当然,请求仍在进行中)。 我还检查了像Metrics.NET这样的libs,它也使用这些计数器和日志。使用Metrics.NET,我可以将数据发送到logstash,但我无法对其进行过滤,因此数据量很大。使用logary,我配置了logstash端点,但数据没有到达logstash


有没有人有更多的经验,可以告诉我您更喜欢哪一种或哪一种最适合我的需要?

我建议不要在代码中使用任何东西,因为这可能会增加性能开销

.NET性能计数器日志是一个更好的解决方案,但我不确定LogStash是否可以轻松接收这些日志

我知道很多人喜欢将原始IIS日志文件聚合到日志库中。这里提供了一些指南:


您是否尝试将
性能计数器类
用于任何ASP.NET性能计数器?在C#中有关于它的任何示例吗?对任何ASP.NET性能计数器使用
PerformanceCounter类
是否会增加性能开销?还有哪些值信息:ASP.NET性能计数器或IIS日志?无论如何,ASP.NET性能计数器不容易与LogStash和Kibana一起使用。