【问题标题】:New Relic ASP.NET Web API新的 Relic ASP.NET Web API
【发布时间】:2013-05-31 01:09:34
【问题描述】:

我正在尝试在我的 Web API 中使用 New Relic 的 .NET 代理,但所有请求都显示为 System.Web.Http.WebHost.HttpControllerHandler,这正是文档 known issues section 所说的

MVC 4(注意:New Relic 为 MVC4 的 ASP .NET Web API 提供有限的支持。所有 Web API 事务都将显示为 HttpControllerHandler,而不是 Web API 控制器的名称。)

我正在寻找任何能够产生更易于阅读的仪表板的解决方法,我的应用程序或 IIS 中是否有任何配置可以更改以在仪表板中拥有更有意义的指标?或者有没有办法实现 API 调用以改变这种行为?

【问题讨论】:

    标签: c# asp.net asp.net-web-api newrelic


    【解决方案1】:

    NewRelic 发布了 .NET 代理的更新,应该可以解决您的问题。

    请参阅:https://newrelic.com/docs/releases/dotnet。 “改进的 WebAPI 支持。您现在应该看到按 [controller].[action] 分组的 Web 事务,而不是报告为 System.Web.Http.WebHost.HttpControllerHandler 的所有 WebAPI 事务。”

    【讨论】:

      【解决方案2】:

      您可以通过 API 设置事务名称来获得更好的结果。但是,在 New Relic 改进对 ASP.NET Web API 的整体支持之前,没有办法随意将内容填充到 Web 事务中。

      https://newrelic.com/docs/dotnet/the-net-agent-api SetTransactionName()

      此外,如果您指定某些方法进行跟踪,当事情变慢并生成事务跟踪时,您会看到这些自定义方法跟踪器出现在跟踪详细信息树视图中。

      https://newrelic.com/docs/dotnet/CustomInstrumentation

      【讨论】:

        【解决方案3】:

        这是一篇相当老的帖子,但我花了很多时间研究类似的问题,在我的情况下,这些延迟只出现在 POST 期间,其中 http 消息具有请求内容。

        从长远来看,这是由于网络性能问题(移动客户端)和 POST 试图读取需要很长时间传输的消息正文。带走的是这些延迟在控制器处理程序中显示时实际上只是在等待请求正文被传输。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-04
          • 2017-12-09
          • 2016-07-08
          • 1970-01-01
          • 2022-12-04
          相关资源
          最近更新 更多