application insights best practices
1.0.0
응용 프로그램 통찰력을 사용하기위한 다양한 모범 사례를 수집하려고 노력했습니다. ASP .NET MVC 및 웹 API 프로젝트부터 커뮤니티 및 응용 프로그램 Insights 팀에서 수집 한 다양한 제안을 포함합니다.
.NET Web API 프로젝트에 응용 프로그램 통찰력을 포함하여 상당히 쉬운 작업이며 Visual Studio 2015를 사용하면 새 프로젝트 템플릿에서 확인란을 표시하거나 각 웹 프로젝트의 드롭 다운 메뉴를 통해 쉽습니다. Microsoft.applicationInsights.web Nuget 패키지와 6 개의 다른 종속성을 추가하여 추가 할 수도 있습니다. 애플리케이션 통찰력은 또한 VS15 및 VS17의 일부인 응용 프로그램 Insights Extension을 통해 온 보딩 진행 상황을 추적하는 데 도움이됩니다. 그러나 AI 경험을 극대화하는 데 여전히 필요한 작업이있을 수 있습니다.
응용 프로그램 통찰력의 중요한 기능 중 하나는 동일한 작업에 대한 모든 원격 측정법을 보는 것입니다. 이는 본질적으로 웹 API 작업의 경우 각 사용자 정의 이벤트, 종속성, 예외, 트레이스가 모두 요청과 연결되어야 함을 의미합니다. 불행히도 이것은 몇 가지 비동기 시나리오에서는 효과가 없습니다. 약간의 테스트 후 두 시나리오에서 상관 관계가 실패하는 것을 관찰했습니다.
비소 종속성 호출 (httpclient, SQL Call 등)
await ( new HttpClient ( ) ) . GetAsync ( "http://www.github.com" ) ;배경 스레드에 기록 된 모든 원격 측정 (사용자 정의 이벤트, 예외 포함)
Task . Run ( async ( ) =>
{
telemetryClient . TrackEvent ( "SampleCustomEventOnBackgroundThread" ) ;
telemetryClient . TrackException ( new System . InvalidOperationException ( "Background Thread Exception" ) ) ;
} ) ;