2016-09-27 4 views
0

現在、NodeJSアプリケーションにApplication Insightsを追加しています。パッケージをインストールしてデータを正常に送信していますが、送信時に各データポイントにタグを追加します。NodeJSのApplication Insightsでタグ付けするメトリック

ドキュメントを見ると、テレメトリプロセッサがこれを行う場所だと思われますが、以下のコードを使用すると、Azureポータルのタグを見ることができません。

var TraceProcessor = function (envelope) { 
    envelope.tags['TestTag'] = 'Test Tag'; 
    return true; 
}; 
module.exports = TraceProcessor; 

実行中のコードと追加されているタグが表示されますが、Azure Portalでこのタグをフィルタリングして表示することはできません。

タグを正しく追加していますか?その場合、ポータルでどこでデータをフィルタリングできますか?

+0

https://github.com/Microsoft/ApplicationInsights-node.js/blob/master/Library/Client.ts#L215のソースコードの 'envelope'の' tag'プロパティの定義によると、 'context'クラスのhttps://github.com/Microsoft/ApplicationInsights-node.js/blob/master/Library/Context.ts#L49で検証されています。要件を明確にしてください。 –

+0

お返事ありがとうございます。私がしたいのは、送信されるごとに各メトリックに追加情報を追加し、データを分析するときにこの情報によってフィルタリングすることができるということです。タグ名は各データポイントで同じですが、値は異なる可能性があります。 洞察のC#バージョンを見て、私はタグを使ってこれを行うことができると思った - https://blogs.msdn.microsoft.com/visualstudioalm/2015/01/07/application-insights-support-複数の環境のスタンプとアプリのバージョン/ NodeJSにも同様のメカニズムがありますか? –

答えて

0

私はこれを理解し、最終的に私の元のアプローチとジョンが提案したアプローチの両方の組み合わせであることが判明しました。

var TraceProcessor = function (envelope) { 
    envelope.data.baseData.properties['TraceID'] = 'trace1'; 
    return true; 
}; 
module.exports = TraceProcessor; 

カスタムプロパティは、私が必要なものを確かにあったが、私はすでに持っていたテレメトリプロセッサは、すべての要求のための自動テレメトリでこれを行うことができるように必要だったものでした。

0

あなたが探しているのは「カスタムプロパティ」です(上のサンプルでは、​​という名前の「タグ」というカスタムプロパティが使用されています)。 SDKのすべてのメソッドでは、通常、文字列のkey:valueのペアの辞書を渡すことができます。これらのプロパティは、すべてのイベントと一緒に移動します。 TrackEventのようなすべての非メトリック呼び出しに対して、実際にカスタムプロパティの辞書(カスタムメトリックの辞書(文字列:ダブル))を渡すことができます。

TelemetryClient

C#のSDK:

public void TrackMetric(string name, double value, IDictionary<string, string> properties = null) 

又はtrackeventコールのメトリックとプロパティを使用して:

public void TrackEvent(string name, IDictionary<string, string> properties = null, IDictionary<string, double> metrics = null) 

JavaScriptのSDK(良く、とにかくTSインタフェースから)、AppInsights.prototype

から
trackMetric(name: string, average: number, sampleCount?: number, min?: number, max?: number, properties?: { [name: string]: string; }); 

あなたがそこに送った物件は、メトリックスエクスプローラまたはアナリティクスクエリツールのフィルタリングオプションとして表示する必要があります。

+0

応答に感謝します - 私は誤解していますか?TrackMetricとTrackEventを使用しないと、自動テレメトリを使用するのではなく、手動でイベントの追跡を実装しますか? –

関連する問題