2017-11-02 31 views
0

アプリケーションから作成して送信するApplication Insightsカスタムテレメトリの一部として、追跡することを選択したイベントでカスタムプロパティを提供できます。これらは後で、通常のAI UIまたはアナリティクスインターフェイス内で照会するために使用できます。同様に、ユーザがセッションを開始したとき、私はAI APIを使用して、アプリケーション定義のユーザ識別子またはアプリケーション定義のセッション識別子を設定できます。Application Insightsセッション固有またはユーザー固有のカスタムプロパティ

しかし、2つのクロスを行う方法はありますか?たとえば、特定のユーザー(彼女が参加しているオーディエンスやロールなど)のカスタムプロパティを設定する方法はありますか?または、特定のユーザーセッションのカスタムプロパティを設定する方法? (おそらく接続タイプや会社の支社)AIが各ユーザーセッションに暗黙的に関連付ける、事前定義された種類のユーザーおよびセッション関連のプロパティがあります。

そのセッション(またはユーザー)に対してのプロパティを設定してから、そのユーザーセッション中に他のアクティビティをこれらのプロパティと関連付けることができます。 。 (カスタムイベント、メトリック、トレースエントリなど)私が必要とするものを避けるは、すべてのイベント、トレース、またはメトリックがすべてログに記録されるように(たとえば、ITelemetryInitializerを使用して)このようなプロパティを設定する必要があります。クライアントとサーバー側にインストゥルメントされた約25種類のASP.NETアプリと、クライアント側のみにインストールされた2種類のSaaSアプリがあります。カスタム拡張を導入して、ログに記録されたすべてに追加されるカスタムプロパティを継続して繰り返し決定しようとすると、多くのチームで大々的な作業が行われます。

これは可能ですか?もしそうなら、どうですか?私はAPIのドキュメントでそれについての言及を見つけることができなかったし、C#APIのIntellisense snoopingも同様に何も明らかになっていませんでした。 (たとえば、Microsoft.ApplicationInsights.Channel.ITelemetry.Context.Sessionまたは.User)

答えて

0

はい、セッションごとにプロパティを1回設定できます。その後、joinを使用してそれを残りのイベントに関連付けます。

たとえば、以下のクエリはセッションごとにイベントをカウントし、このカウントをカスタムプロパティに関連付けます。その後、必要に応じてさらに集約するためにパイプ処理することができます。

let events = customEvents 
| where timestamp > ago(1d); 
events 
| summarize count() by session_Id 
| join kind=inner (
    events 
    | where name == "MySingleEventPerSession" 
    | summarize any(*) by session_Id 
) on session_Id 
| project count_, any_customDimensions.MyCustomProperty, session_Id 
関連する問題