从ApplicationInsight过滤SignalR请求

时间:2017-06-13 13:32:36

标签: signalr azure-application-insights

我已经在我的网络应用程序上配置了应用程序洞察,但是遥测已经完全失败了#39; SingalR的要求使得发现真正的问题变得困难(见下面的截图)。我想过滤掉所有SignalR请求,而不是将它们发送给AI。

AI SignalR

我创建了一个遥测处理器(请参阅下面的代码on this example from MS)并将其注册在ApplicationInsights.config文件中,这在本地调试时可以正常工作并防止发送任何SignalR事件一旦Web应用程序在IIS中发布并运行,它似乎没有任何效果。

public class SignalRFilter : ITelemetryProcessor
{
    private ITelemetryProcessor Next { get; set; }

    public SignalRFilter(ITelemetryProcessor next)
    {
        this.Next = next;
    }

    public void Process(ITelemetry item)
    {
        if (!OKtoSend(item))
            return;
        else
            this.Next.Process(item);
    }

    private bool OKtoSend(ITelemetry item)
    {
        if (item is RequestTelemetry && ((RequestTelemetry)item).Url.AbsolutePath.Contains("signalr"))
            return false;
        else
            return true;
    }
}

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您正在Live Metrics Stream中查看这些请求。对于此特定视图,您可以按需过滤它们。功能在最新的2.4-beta中可用(稳定版本应尽快发布)。在这种情况下,您可以单击“过滤器”按钮并为每个流添加适当的过滤器。图表存在类似的行为:

enter image description here

您是否检查过您是否在Application Insights Analytics中看到/ signair / start?可能是您成功过滤掉它们并且它们仅显示在实时视图中。