Glimpse at Application Insights Telemetry
There are people who love Application Insights, there are people who love Glimpse, and there are people who haven’t heard of these great tools.
Glimpse is great for profiling and debugging your web app during development, while Application Insights is the tool for diagnosing issues and monitoring performance in live production. Because you need both, we decided to integrate these products.
What is Application Insights?
Application Insights monitors your web application in production for performance, availability and usage. It helps you understand what your users do with your app, diagnose failed requests and exceptions, and find performance issues in browser, web server or backend services.
What is Glimpse?
Glimpse is the diagnostics platform for the web. While you are debugging your web app, Glimpse inspects web requests as they happen, providing insights and tooling that reduce debugging time and empower every developer to improve their web applications.
What does the integration provide?
Application Insights automatically collects client and server-side telemetry about requests, and outbound calls to dependencies, as well as business metrics. These items are now accessible alongside the other data collected by Glimpse, through the Glimpse timeline tab, where Application Insights is a new category. Glimpse today does not provide information about outbound http calls, but with Application Insights you can see them.
Application Insights also collects log traces and exception reports. These appear in the Glimpse Trace tab.
The new Application Insights tab shows all the Application Insights telemetry from the client and server you will be gathering after your application is deployed to production.
With this combination of tools, you can use Glimpse and Visual Studio Diagnostics hub to trace the response to each web request. With these tools you have immediate access to request parameters, session state, SQL queries and configuration settings. This simplifies the development process and expedites debugging.
When your app is running live in production, the diagnostic process is different. Instead of watching every request as it happens, as you do in Glimpse, you want to collect statistics about, for example, how your response time varies with load, and how much of that variation comes from your dependencies – REST services, databases, and so on. If there are failed requests, you’ll want to assess how many users are affected, and then you’ll want to select some of the failures to examine their traces in detail. These are the strengths of Application Insights.
In many cases, simply enabling Application Insights is enough to give you all the diagnostic and usage information you need about your live app. But you can also customize the telemetry to get more detailed feedback about usage and performance. The integration of Glimpse and Application Insights helps you fine tune the telemetry you get from Application Insights in production.
Looking at the Application Insights tab, you can see exactly what data will be collected for specific pages as you browse through your application. Doing this during development enables you to ensure you have implemented your telemetry collection in the way you intended. Have you sent checkout price or queue length correctly? Was successful transaction reported as a business telemetry event? After you release your application, this telemetry will be your source of business and diagnostic insights.
It is awesome that this integration helps the transition from data gathered in development to data gathered in production, but we are still planning to improve the integration to make it even more valuable. With our next version of the Glimpse and Application Insights NuGet we plan to show production data from older versions of your application in the Glimpse UI as you develop new versions of your application.
Try it now
See this integration in action and try it on your own application by installing one of our NuGet packages. Currently there are two NuGet packages available.
Installing the Glimpse Application Insights Web package will turn on Application Insights for your application and enable a basic set of Glimpse packages. This package includes dependencies to other packages you will need for web applications making this a simple solution for everyone. If you have not onboarded to Application Insights, you should use this package. Glimpse Application Insights Web will support .NET web applications without any additional work from you.
Note: If you already onboarded Application Insights and Glimpse, you can consider using the Glimpse Application Insights NuGet package. If you want additional features, you can manually install the ADO.NET, ASP.NET and EnityFramework, or any other extension.
The Glimpse and Application Insights integration is an open source project made possible through multiple contributors. I would like to give a special thanks to the ALM Latam OOS team lead by Oscar Garcia Colon (MVP) with the assistance of Guillermo Zepeda, Jose Carlos Mendez, Alejandro Damian, Carlos Paz, Jorge Rodriguez, Francisco Bravo, Claudia Susana Lopez, and Karlo Lorenzana, Sergey Kanzhelev from Microsoft Application Insights, and the Glimpse team: Anthony van der Hoorn and Nik Molnar. Together, three different teams were able to make an integration that we all hope you enjoy.
Please let us know…
The Glimpse and Application Insights integration is a work in progress. For any issues or feature request please visit our repository.
The Application Insights team is committed to providing quality tools for developers. We would greatly appreciate any feedback or new feature recommendations.
Source: Microsoft Azure News