当前位置: 首页 > 知识库问答 >
问题:

是否捕获Web作业/应用程序中的性能计数器?

袁智明
2023-03-14

是否可以捕获当前进程/应用程序的性能计数器值?我正在尝试捕获关于我正在运行的web作业的度量,例如GC中的%TIme、Gen N堆大小、线程争用率/秒等。我发现应用程序洞察可以捕获这些度量,当在我的网站中启用时。

var category = ".NET CLR Memory";
var counter = "% Time in GC";
var instance = Process.GetCurrentProcess().ProcessName;
var pc = new PerformanceCounter(category, counter, instance, true);

我理解为什么这会失败,因为Auzre/Kudu运行时沙箱需要确保实例是我的流程,而不是其他客户的流程。是否有一种方法可以访问我的流程计数器,以便我可以报告/收集它们?我希望收集从进程中发生。

共有1个答案

漆雕奇逸
2023-03-14

此时,由于沙箱限制,不可能收集性能计数器,正如您提到的。我们正在寻找以安全的方式实现这一目标的方法,但没有任何时间表可供分享。

此时,您最好使用application insights,这是当前收集应用程序诊断信息的推荐方法(它们有适用于几乎任何应用程序类型的解决方案--不仅仅是web应用程序):https://azure.microsoft.com/en-us/documentation/services/application-insights/

 类似资料:
  • 我见过一些APM,它只测量运行在WAS上的网络应用程序。 Elastic APM能否衡量纯Java应用程序等其他应用程序的性能? 如果没有,我可以使用吗https://www.elastic.co/guide/en/apm/agent/java/1.x/public-api.html(公共API),以便它可以测量非web应用程序的性能? 我将感谢你的建议。干杯

  • 我正在开发一个需要许多连续运行的web作业的解决方案。出于隔离和性能的原因,我不想将这些应用程序与我们产品中的任何Web应用程序打包。我想可能涉及到Azure开发人员的一些工作,但我的问题是,我是否必须创建没有代码的Web应用程序,比如天气预报类型的项目,以便部署我的Web作业。

  • 到目前为止,我认为我已经掌握了async await如何使应用程序更具响应性的概念,但我有两点悬而未决: 层注意事项异步等待是否必须从存储库层一直到MVC或WCF层才能获得性能优势,或者我可以只对需要很长时间的存储库方法进行异步操作吗? “等待”用法如果我只能在存储库级别工作,有一部分我不明白。使用这种(低层)方法,线程能够在等待io绑定代码完成的同时为传入的客户端请求提供服务吗? 在我看来,当长

  • 问题内容: 任何Throwable都可以被捕获 输出: 因此,如果在初始化块期间做不好的事情,我希望能够捕获ExceptionInInitializerError。但是,以下操作无效: 输出: 并且如果我更改代码以另外捕获ArrayIndexOutOfBoundsException 被捕获的是ArrayIndexOutOfBoundsException: 谁能告诉我为什么呢? 问题答案: 顾名思义

  • 我有一个核心java应用程序,它使用Quartz2.2.1和JDBC作业存储。所有的作业都安排在同一时间。 我正在使用Appfuse、maven和Quartz构建另一个基于Spring的应用程序。我想从spring应用程序中重新调度在前一个应用程序中运行的作业。在这样做的时候,我得到了class not found异常,因为我没有在类路径中添加作业类。如果我添加了它们,我就可以更新作业。 是否有任

  • 问题内容: 自两年以来,我一直在使用java(Servlets,JSPs)进行Web应用程序开发。在那两年中,我从不需要在任何项目中使用(明确地- 众所周知,servlet容器使用线程为不同的请求提供相同的servlet)。 但是,每当我参加Web开发人员职位(java)的面试时,就会有几个与java中的线程相关的问题。我知道Java线程的基础知识,因此回答问题不是问题。但是有时我会感到困惑,是否