2017-01-17 12 views
3

私は、アナリティクスツール(下記参照)でクエリを実行するときに、App InsightsにappName(およびappId)というフィールドがあることに気付きましたが、クライアントライブラリでこれを設定する方法はありません。これは設定できますか?Application InsightsカスタムイベントでappNameを設定する方法はありますか?

ログソースが異なる可能性がありますが、関連する項目をアプリの洞察に記録しようとしています。そのフィールドを使用すると、そのシナリオを処理するうえで便利ですが、私はさまざまなシナリオに対応しています。


screen shot of analytics tool

答えて

5

これらの値は、バックエンドに移入し、アプリケーション洞察リソースの詳細を指定し、したがって、変更することはできませんされています。

あなたの探しているものはcustom dimensionsです。

EventTelemetry telemetry = new EventTelemetry("my custom event"); 
telemetry.Properties.Add("MyApp", "HelloWorld"); 
telemetryClient.TrackEvent(telemetry); 

をこれらのカスタム寸法を照会するには:テレメトリを送信するために例えば

customEvents 
| where customDimensions['MyApp'] == "HelloWorld" 
+0

はあなたに感謝。私はカスタムディメンションについて知っていますが、私はこれらのボックス外のフィールドを代わりに使用できると考えました。 –

+0

Application InsightsのすべてのデータをStreamAnalyticsやSQLなどにエクスポートしている場合に便利です。また、アプリケーション・インサイトがさまざまなアプリケーション間でクエリ機能を提供することにした場合、便利です。 – ManishKG

1

アプリケーション名を設定することができ、プレビューがあります。これは、次のように行われます:に行く:

  • は、プレビューアプリケーションマップ
  • がITelemetry.Context.Cloud.RoleNameを設定する(これはアプリケーション名です)

プレビューをイネーブルにします

これはintercを追加することによって行われます:ポータル - >アプリケーションの洞察 - - >プレビュー>マルチロールアプリケーションマップを有効に

は、アプリケーション名を設定します。 eptor:

public class ServiceNameInitializer : ITelemetryInitializer 
{ 
    public void Initialize(ITelemetry telemetry) 
    { 
        telemetry.Context.Cloud.RoleName = "MyProcessName"; 
    } 
} 

startup.csにおけるアプリケーションの洞察構成にインターセプタを追加します。

private void ConfigureAppInsights(IServiceCollection services) 
{ 
    services.AddApplicationInsightsTelemetry(Configuration); 
    TelemetryConfiguration.Active.TelemetryInitializers 
       .Add(new ServiceNameInitializer()); 
} 

はで続きを読む:cross-process-application-insights-with-multi-role-application-map

+0

質問は 'cloudName 'ではなく' appName'の設定について質問します。 'appName'はカスタマイズできません。 –

関連する問題