2017-02-20 5 views
2

私はApplication Insightsを使用して監視したいWPFアプリケーションを持っています。私は、組み込みカスタムイベントと依存関係呼び出しを使用して、各ユーザーのアクションを1つのリクエストとしてグループ化したいと考えています。私がdocumentationオペレーションの文脈で読んだことは、正しい方法でなければなりません。私は、アプリケーションの洞察ポータル「私のテストイベントは、」要求イベントに関連するイベントとして表示されません確認したときに、残念ながら操作コンテキストを使用して関連するイベントを追跡する際の問題

using (var operation = telemetryClient.StartOperation<RequestTelemetry>(
     $"test operation {Guid.NewGuid()}")) 
{ 
    telemetryClient.TrackEvent("my test event"); 
    telemetryClient.StopOperation(operation); 
} 

:私は、次のコードを書きました。私は少しの実験と私は手動操作のプロパティを設定した場合、イベントが関連になることがわかった:

​​

しかし、私は、それはこのように見てはいけないという気持ちを持っています。だから私の質問は:誰かが私が最初のスニペットで間違っていることを私に指摘することができますか? TelemetryClientには魔法のような設定がありますが、それはドキュメントに記載されているように動作しますか?

+1

ASP.Netコンテキストでは、デフォルトでのみ生成されます。 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics#operation-contextを参照してください。テレメトリアイテムを共通の操作に関連付けて関連付けることができますID。標準の要求追跡モジュールは、HTTP要求が処理されている間に送信される例外やその他のイベントに対してこれを行います。私のWinFormアプリケーションでは、自分でも設定する必要があります。 –

+0

ありがとう@PeterBons。この手作業はここに必要不可欠だと思われます。コードをリファクタリングして見栄えを向上させます。あなたは答えとしてあなたのコメントを置くかもしれません。私はそれを受け入れます。 – lowleveldesign

答えて

2

CallContextでTelemetryInitializerを使用するのと同じ操作ID、名前などを持つ、同じコンテキストですべての発信テレメトリを保証する比較的簡単な方法です。

This is a really good blog postです。

+0

これは実際には良い考えです。ありがとう! – lowleveldesign

関連する問題