2016-05-13 13 views
0

Application Insightsのテレメトリクォータの大部分は、SignalR(およびその他のSignalRリクエスト)のpingリクエストによって消費されています。Application Insightsからのシグナルリクエストのフィルタリング

これらのリクエストが報告されないようにするにはどうすればよいですか?私は他のajaxリクエストを保持したいが、SignalRリクエストには何らかの(クライアント側の)フィルタを適用する。

私は簡単な例を提供する良い文書を見つけることができませんでした。私はaddTelemetryInitializerを使っていくつかのリクエストを除外することができますが、何をフィルターに掛けるべきかわかりません。あなたのシナリオでは

appInsights.queue.push(function() { 
     appInsights.context.addTelemetryInitializer(function (envelope) { 
      // What should I do here to remove /signalr requests? 
     }); 
    }); 

答えて

5

私は、ブラウザによって発行された当社のAjaxリモート依存コールをフィルタリングしたいと仮定しています。テレメトリからサーバー側の信号要求をフィルタするには、サーバー側にテレメトリプロセッサを実装する必要があります(https://azure.microsoft.com/en-us/blog/request-filtering-in-application-insights-with-telemetry-processor/

このようなものです。今検証できないので、後の構文エラーを修正します:https://blogs.msdn.microsoft.com/albulank/2016/04/20/modifying-and-filtering-telemetry-with-appinsights-javascript-sdk-telemetry-initializer/

+0

ありがとう:

window.appInsights = appInsights; // Add telemetry initializer appInsights.queue.push(function() { appInsights.context.addTelemetryInitializer(function (envelope) { /* filter our Ajax requests with signalr in url*/ if (envelope.name === Microsoft.ApplicationInsights.Telemetry.RemoteDependencyData.envelopeType && envelope.data.baseData.commandName.indexOf("signalr")>-1){ return false; } }); }); // end of insertion appInsights.trackPageView(); 

JSテレメトリ初期化子の詳細例については、これを見てください!私はあなたの答えを正しい変数名で更新しました – Joel

関連する問題