Asp.net NewRelic-如何忽略web应用程序的一部分

Asp.net NewRelic-如何忽略web应用程序的一部分,asp.net,newrelic,apdex,Asp.net,Newrelic,Apdex,我想告诉NewRelic不要监视我的web应用程序的一个子集。例如,我想将*排除在外,这样NewRelic就不会将我的应用程序的这一部分的流量计入我的apdex 类似于您如何在Google Analytics中创建过滤器的功能将非常棒。如果您在页面中包含NewRelic javascript,那么您就不能将其包含在这些管理页面中。您可以通过调用。在项目中添加对NewRelic.Agent.Api.dll的引用,然后在管理页面的公共代码路径中调用该方法 您也可以通过调用IgnoreTransact

我想告诉NewRelic不要监视我的web应用程序的一个子集。例如,我想将*排除在外,这样NewRelic就不会将我的应用程序的这一部分的流量计入我的apdex


类似于您如何在Google Analytics中创建过滤器的功能将非常棒。

如果您在页面中包含NewRelic javascript,那么您就不能将其包含在这些管理页面中。

您可以通过调用。在项目中添加对
NewRelic.Agent.Api.dll
的引用,然后在管理页面的公共代码路径中调用该方法


您也可以通过调用
IgnoreTransaction
来完全忽略事务(无Apdex、无响应时间等),但如果您使用的是MVC,则可以将其放入actionfilter。您仍然需要使用依赖项,但它至少是一种更干净的调用方式:

public class PreventNewRelic : ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        NewRelic.Api.Agent.NewRelic.IgnoreTransaction();
        base.OnActionExecuting(actionContext);
    }
}

如果其他人也在寻找同样的东西,我会加上这个。新代理现在允许在配置文件中排除,请从其支持中查看以下答案:

第二种侵入性较小的方法是使用“请求路径排除列表”。newrelic.config中的browserMonitoring元素现在支持(从代理版本2.22.79.0开始)名为RequestPathExcluded的可选子元素,如下所示:


每个“path”元素必须包含一个“regex”属性,其值是可由.NET Framework的正则表达式计算器计算的正则表达式。请参阅作为参考


我相信NewRelic更低级。我认为它甚至可以检测程序集。它可以检测程序集,还可以将JS添加到页面中,以检测用户在浏览器中花费的时间。还有一个免费(Lite)版本。它更低级,不是谷歌分析。它使用javascript来计算最终用户的加载时间,但是javascript是由NewRelic代理插入的,并且不是通过代码控制的(除非使用API)。Hari,在敲打它之前,你真的必须尝试一下。或者只需在推特上搜索关键词newrelic,看看人们对它的评价;我会做一些研究。我讨厌在我的项目中添加依赖项。理想情况下,这应该在配置级别完成,而不是在API级别。我同意你的看法。我们正在考虑一种通过web UI实现这一点的方法(也可能是使用REST API)。@rkb:我想知道在提出这个问题后的两年内,在这方面是否有任何进展?有没有办法通过配置或Web UI来实现这一点?
<browserMonitoring autoInstrument="true">
   <requestPathsExcluded>
      <path regex="About{1}?" />
      <path regex="mvcForm/Home/{1}?" />
   </requestPathsExcluded>
</browserMonitoring>