0

我正在使用 Elastic APM 代理 ( https://www.elastic.co/guide/en/apm/agent/dotnet/current/index.html ) 来检测 ASP.NET MVC 应用程序。我添加了 nuget 包并在 web.config 中添加了模块条目。我能够在 Kibana APM 选项卡中获取数据,并很好地显示每次调用所花费的时间。(见下面的截图)。 示例截图

Mu 问题是:如何在每个调用中深入了解堆栈空间中的时间花在哪里?有什么我想念的吗?

4

1 回答 1

1

代理捕获事物的方式基本上有两种:

  • 自动检测:在这种情况下,您无需编写任何代码,代理只是为您捕获内容 - 这就是我们在您的屏幕截图中看到的内容
  • 手动代码检测 - 为此,您可以使用公共代理 API并以编程方式捕获内容。

在典型的 ASP.NET Classic MVC 应用程序中,代理具有自动检测用于传出 HTTP 调用HttpClient、使用 EF6 的数据库调用(确保添加拦截器)(SqlClient支持已经在进行中,希望很快发布)。因此,除非您在这些请求中包含其中任何一个,否则代理不会开箱即用地捕获内容。

如果您想捕获更多内容,目前的方法是将一些特定于代理的代码(基本上是手动代码检测)放入您的应用程序并使用公共代理 API。

于 2020-04-06T19:11:02.520 回答