One of the features that Application Insights has to offer is ‘Dependency Tracking'. It allows you to monitor components that are called by your application. This can be a service called using HTTP, or a database, or a file system. Application Insights measures the duration of dependency calls, whether its failing or not, along with additional information like name of dependency and so on. You can investigate specific dependency calls, and correlate them to requests and exceptions.
Automatically tracked dependencies
Out-of-the-box the following dependencies are tracked automatically:
Dependencies | Details |
Http/Https | Local or Remote http/https calls. |
WCF Calls | Only tracked automatically if Http-based bindings are used. |
SQL | SQL Calls made with SqlClient. |
Azure storage | Calls made with Azure Storage Client. |
EventHub Client SDK | EventHub Client SDK Version 1.1.0 and above. |
ServiceBus Client SDK | ServiceBus Client SDK Version 3.0.0 and above. |
Azure Cosmos DB | Only tracked automatically if HTTP/HTTPS is used. TCP mode won't be captured by Application Insights. |
Setup dependency tracking for MassTransit
To extend dependency tracking and track calls to MassTransit we need to configure the built-in DependencyTrackingTelemetryModule
and include an extra ‘MassTransit’ diagnostic source:
After adding this code, you should see the MassTransit calls show up as dependencies in your Telemetry data:
And here are the details: