从分析中排除第三方库

时间:2018-07-05 18:53:55

标签: azure-application-insights

我们有 Application Insights 来概要分析和评估我们的应用程序,但是它正在第三方库中注册异常,这给分析带来了麻烦,所以我想告诉Application Insights要从中排除哪些程序集分析。

我检查了ApplicationInsights.config documentation,但没有发现与此相关的任何内容。

那么,有可能从分析中排除dll吗?

1 个答案:

答案 0 :(得分:0)

对于这类过滤器,您可以使用TelemetryProcessor。参见the docs

  

要过滤遥测,请编写遥测处理器并将其注册到SDK。所有遥测都通过处理器,您可以选择将其从流中删除,或添加属性。这包括来自HTTP请求收集器和依赖项收集器等标准模块的遥测,以及您自己编写的遥测。

您可以这样写:

public class ExceptionFilter : ITelemetryProcessor
{
    private ITelemetryProcessor next { get; set; }

    public ExceptionFilter(ITelemetryProcessor next)
    {
        this.next = next;
    }

    public void Process(ITelemetry item)
    {
        var exceptionTelemetry = item as ExceptionTelemetry;
        if(exceptionTelemetry == null || 
          !exceptionTelemetry.Exception.StackTrace.Contains("NameOfThirdPartyApp"))
            next.Process(item);
    }
}

让您自己想象的最好方法是识别那些第三方应用程序异常。