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