Tidy up - Unused Project and Nuget package reference using Visual Studio 2019

If you are a Developer/Architect using Visual Studio as IDE for your development activities, this blog post will be of your interest. During the Ignite 2021 conference, Microsoft released Visual Studio 2019 v16.9 and v16.10 Preview 1. As part of version 16.10 Preview 1, one of the cool features they introduced is to "Remove Unused References..." for any Projects and Nuget packages that are not in use. At the time of writing this blog post, we have Visual Studio Version 16.10.0 (official release) which includes this new feature.  As part of development, we generally get carried away and introduce new Nuget package references to your project and add new references to your Projects. By the end of development, you will not be 100% sure which are not being referenced and unused which means you will leave those unused project references in your application. Now you might be wondering what's the big deal in it since it doesn't harm. The advantage of removing unused project r

Application Insights – Azure Service

Application Insights is an Azure Service which helps to monitor applications in real time. It’s a powerful service for Developer and DevOps professional which provide insights of your applications in terms of Performance, Application Health, Application Interaction, User flows, Availability, and its live metrics. Application Insights works on applications hosted on-premises, hybrid or any other cloud service provider. Application Insights comes with capability like Querying the metrics, dashboard for representing different metrics, ability to configure alerts, Integrating with Azure DevOps etc.

Application Insights can be used for monitoring Azure Services like Azure App service, VMs, Azure Function etc. Similarly, if you have existing application already build or deployed you can easily configure application-based monitoring using Application Insights SDK. We will see below how easy to integrate with new or existing application.

Below are the steps involved in configuring Application Insights for a .Net/.Net Core application.
1. Application Insight service is provisioned from Azure portal.
2. Right click on Start up project like WebAPI/MVC app and navigate to “Application Insights Telementry” as shown below.






3. In the start up class following code will be auto populated if not place it manually
services.AddApplicationInsightsTelemetry();

4. Appsettings.json populate Instrumentation key which will be available from Azure portal of Application Insights


Below is an example where I have deployed few services in Azure. There is a Front end application which is interacts with database for fetching data, front end app interacts with External webapi and External webapi in turn interacts with Azure Function(HTTP trigger).

Note: All your services sending telemetry to the same Application Insights instance. The Application Insights UI in the Azure Portal has no ability to display this visualizations across multiple Application Insights instances.

One frequent question I hear from developers “Can I use Application Insights because we are not on Azure”. Well you don’t need to host your application on Azure it can be hosted anywhere as long Azure Insights is created in Azure and integrated with your application using Instrumentation key.

Composite Application Map

You can see the full application topology across multiple levels of related application components. Components could be different Application Insights resources, or different roles in a single resource.


Using Application Insights you can drill down to application flow as shown below e.g. if we see from Front end component http call is made to WebAPI and from WebAPI it makes call to Azure function.

Comments

Popular posts from this blog

Tidy up - Unused Project and Nuget package reference using Visual Studio 2019

Swagger UI for Azure Function v2 & v3 APIs

Authenticate Azure Functions - API Keys