2017-03-02 9 views
1

トレースまたは例外データをApplication Insightに入れようとしています。私はアプリケーションInsightsのダッシュボード、検索またはメトリックエクスプローラ上で、そのような跡や例外を見つけることができない、Console C#アプリケーションからApplication Insightsにトレース/例外データを取得する方法

TelemetryClient tc = new TelemetryClient(); 
tc.InstrumentationKey = "xxxxxx-xxxxxxx-xxxxxxxx-xxxxxxx"; 
var traceTelemetry = new TraceTelemetry("Console trace critical", SeverityLevel.Critical); 
tc.TrackTrace(traceTelemetry); 
tc.TrackException(new ApplicationException("Test for AI")); 
tc.Flush(); 

しかし、それは動作しません:私は、次のコードをしようとしています。

答えて

1

私は(フラッシュ後)プロセスを既存の5秒前の睡眠を追加しようとするだろう - IIRCのみローカルバッファをフラッシュし、そしてそれは、そのTCのように見えるアプリケーションの洞察

0

App Insightsでイベント/メッセージが表示されるまでに最大1時間かかります。メッセージが表示されるまでもう少しお待ちください。

+0

私はそれが既に通過した時間であるとして、それはそうではないと信じています。また、EventFlow + Trace + Application Insightsを使用してトレースを送信しようとしましたが、そこにトレースを取得するのに約1分かかりました... –

1

にテレメトリを送信強制するものではありません洗い流します。フラッシュでは不十分です。私はあなたのコードをコンソールアプリで試してみたが、Fiddlerでリクエストが見られなかった。 Thread.Sleep(5000)を追加すると、例外が表示されました。

class Program 
{ 
    static void Main(string[] args) 
    { 
     TelemetryClient tc = new TelemetryClient(); 
     tc.InstrumentationKey = "fe549116-0099-49fe-a3d6-f36b3dd20860"; 
     var traceTelemetry = new TraceTelemetry("Console trace critical", SeverityLevel.Critical); 
     tc.TrackTrace(traceTelemetry); 
     tc.TrackException(new ApplicationException("Test for AI")); 
     tc.Flush(); 

     // Without this line Fiddler didn't show a request 
     Thread.Sleep(5000); 
    } 
} 

「失敗」画面で例外が表示されました。

enter image description here

+0

はい、それが理由でした。しかし、@ Erangは1時間前に答えました... –

0

私はあなたがコンソール/デスクトップ/ワーカーアプリケーションにAIを追加するとFlush synchronouslyしたい場合InMemoryChannelを使用したいかもしれないと思います。

InMemoryChannelテレメトリを送信する前にデータをローカルに保存しないため、電線に何らかの問題が発生してもデータが失われることはありません。ただし、Flush()に電話すると、実際にテレメトリをディスクに保存するのではなく、送信しようとします。 InMemoryChannelを使用して

は、ローカルに保存されたテレメトリアイテムを送信するためにServerTelemetryChannelためのいくつかの時間を与えるためにSleep()を追加するなどのエラーが発生しやすいコードを防ぐことができます。

あなたは、コードを介して、またはApplicationInsights.coinfigファイルにServerTelemetryChannelを交換する必要があります:

<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"> 
関連する問題