我想告诉 NewRelic 不要监视我的 Web 应用程序的子集。例如,我想排除http://mysite/admin/ * 这样 NewRelic 就不会针对我的 apdex 计算我的应用程序这部分的流量。
类似于在 Google Analytics 中创建过滤器的方法会很棒。
我想告诉 NewRelic 不要监视我的 Web 应用程序的子集。例如,我想排除http://mysite/admin/ * 这样 NewRelic 就不会针对我的 apdex 计算我的应用程序这部分的流量。
类似于在 Google Analytics 中创建过滤器的方法会很棒。
您可以通过调用New Relic .NET 代理 API将事务从计入 Apdex 中IgnoreApdex
排除。在项目中添加对的引用,然后在管理页面通用的代码路径中调用该方法。NewRelic.Agent.Api.dll
您也可以通过调用完全忽略事务(无 Apdex、无响应时间等)IgnoreTransaction
。
如果其他人正在寻找相同的东西,我将添加此内容。新代理现在允许在配置文件中排除,从他们的支持中查看以下答案:
第二种侵入性较小的方式是使用“请求路径排除列表”。newrelic.config 中的 browserMonitoring-element 现在支持(从代理版本 2.22.79.0 开始)名为 requestPathsExcluded 的可选子元素,如下所示:
<browserMonitoring autoInstrument="true">
<requestPathsExcluded>
<path regex="About{1}?" />
<path regex="mvcForm/Home/{1}?" />
</requestPathsExcluded>
</browserMonitoring>
每个“路径”元素必须包含一个“正则表达式”属性,其值是一个正则表达式,可由 .NET Framework 的正则表达式求值器求值。请参阅http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.90).aspx作为参考。
有点晚了,但如果你使用的是 MVC,你可以把它放到一个动作过滤器中。您仍然需要获取依赖项,但它至少是一种更简洁的调用方式:
public class PreventNewRelic : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
NewRelic.Api.Agent.NewRelic.IgnoreTransaction();
base.OnActionExecuting(actionContext);
}
}
如果您在页面中包含 NewRelic javascript 可以实现这一点,那么您可以根本不将其包含在这些管理页面中。