2017-11-02 5 views
0

응용 프로그램에서 작성하고 전송하는 Application Insights 사용자 지정 원격 측정법의 일부로, 추적하도록 선택한 이벤트가있는 사용자 지정 속성을 제공 할 수 있습니다. 그런 다음 나중에 일반 AI UI 또는 Analytics 인터페이스에서 조회 할 수 있습니다. 마찬가지로 사용자가 세션을 시작하면 AI API를 사용하여 앱 정의 사용자 식별자 또는 앱 정의 세션 식별자를 설정할 수 있습니다.Application Insights 세션 별 또는 사용자 별 사용자 지정 속성

두 가지의 십자가를 수행 할 수있는 방법이 있습니까? 예를 들어 특정 사용자 (예 : 잠재 고객 또는 참여자 역할)에 대해 사용자 지정 속성을 설정할 수있는 방법이 있습니까? 또는 주어진 사용자 세션에 대한 사용자 정의 속성을 설정하는 방법은 무엇입니까? (아마도 그들이 속한 연결 유형 또는 회사 지사) AI가 암시 적으로 각 사용자 세션과 연관시키는 사전 정의 된 종류의 사용자 및 세션 관련 등록 정보가 있습니다.

해당 세션 (또는 사용자)에 대해 번 속성을 설정하고 해당 사용자 세션 중에 다른 속성을 이러한 속성과 연결할 수 있습니다. . (예 : 사용자 지정 이벤트, 메트릭, 추적 항목 등) 을 피하려면은 모든 이벤트, 모든 추적 또는 모든 메트릭을 기록해야합니다 (예 : ITelemetryInitializer). 그런 특성을 설정해야합니다. 클라이언트와 서버 측에 설치된 약 25 개의 서로 다른 ASP.NET 응용 프로그램과 클라이언트 측에만 설치된 별도의 몇 가지 SaaS 응용 프로그램이 있습니다. 사용자 정의 확장을 도입 한 다음 기록 된 모든 항목에 추가 할 사용자 정의 특성을 계속해서 반복적으로 판별하는 것은 많은 팀에서 기념비적 인 작업이 될 것입니다.

이것이 가능합니까? 그렇다면 어떻게? API 문서에서 API에 대한 언급을 찾을 수 없었지만 C# API의 Intellisense 스누핑은 비슷한 점이 없었습니다. (예 : Microsoft.ApplicationInsights.Channel.ITelemetry.Context.Session 또는 .User)

답변

0

예, 세션 당 한 번 속성을 설정할 수 있습니다. 그런 다음 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 
관련 문제