Voyager.Common.Proxy.Diagnostics.ApplicationInsights
1.9.0-preview.1
dotnet add package Voyager.Common.Proxy.Diagnostics.ApplicationInsights --version 1.9.0-preview.1
NuGet\Install-Package Voyager.Common.Proxy.Diagnostics.ApplicationInsights -Version 1.9.0-preview.1
<PackageReference Include="Voyager.Common.Proxy.Diagnostics.ApplicationInsights" Version="1.9.0-preview.1" />
<PackageVersion Include="Voyager.Common.Proxy.Diagnostics.ApplicationInsights" Version="1.9.0-preview.1" />
<PackageReference Include="Voyager.Common.Proxy.Diagnostics.ApplicationInsights" />
paket add Voyager.Common.Proxy.Diagnostics.ApplicationInsights --version 1.9.0-preview.1
#r "nuget: Voyager.Common.Proxy.Diagnostics.ApplicationInsights, 1.9.0-preview.1"
#:package Voyager.Common.Proxy.Diagnostics.ApplicationInsights@1.9.0-preview.1
#addin nuget:?package=Voyager.Common.Proxy.Diagnostics.ApplicationInsights&version=1.9.0-preview.1&prerelease
#tool nuget:?package=Voyager.Common.Proxy.Diagnostics.ApplicationInsights&version=1.9.0-preview.1&prerelease
Voyager.Common.Proxy.Diagnostics.ApplicationInsights
Application Insights diagnostics handler for Voyager.Common.Proxy. Sends proxy telemetry to Azure Application Insights as dependency calls, exceptions, and custom events.
Installation
dotnet add package Voyager.Common.Proxy.Diagnostics.ApplicationInsights
Usage
Basic registration
services.AddApplicationInsightsTelemetry();
services.AddProxyApplicationInsightsDiagnostics();
services.AddServiceProxy<IUserService>("https://api.example.com");
With Cloud.RoleName (recommended for multi-service environments)
services.AddProxyApplicationInsightsDiagnostics(options =>
{
options.CloudRoleName = "MyService-Production";
});
Event → Telemetry Mapping
| Proxy Event | AI Telemetry Type | Name / Details |
|---|---|---|
OnRequestCompleted |
DependencyTelemetry |
type=VoyagerProxy, success/failure, duration, resultCode |
OnRequestFailed |
ExceptionTelemetry + DependencyTelemetry |
Exception details + failed dependency |
OnRetryAttempt |
EventTelemetry |
"ProxyRetryAttempt" with attempt details |
OnCircuitBreakerStateChanged |
EventTelemetry |
"ProxyCircuitBreakerStateChanged" with state info |
OnRequestStarting |
(no-op) | Covered by DependencyTelemetry in Completed/Failed |
Custom Properties (→ customDimensions in AI)
All telemetry items include these properties where available:
| Property | Source |
|---|---|
ServiceName |
Interface name (e.g. IUserService) |
MethodName |
Method name (e.g. GetUserAsync) |
HttpMethod |
HTTP method (GET, POST, etc.) |
Url |
Request URL (relative path) |
UserLogin |
Current user's login |
UnitId |
Organizational unit identifier |
UnitType |
Organizational unit type |
| (custom) | All entries from IProxyRequestContext.CustomProperties |
W3C Trace Context
Telemetry items have operation_Id set to the W3C TraceId and operation_ParentId set to the SpanId, enabling correlation with distributed traces.
Environment Separation
Use CloudRoleName to distinguish services/environments in Application Insights. Combined with per-environment Connection Strings, this provides full environment isolation:
// appsettings.Production.json → AI Connection String for Production resource
// appsettings.Staging.json → AI Connection String for Staging resource
services.AddProxyApplicationInsightsDiagnostics(options =>
{
options.CloudRoleName = $"MyService-{environment}";
});
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- Microsoft.ApplicationInsights (>= 2.22.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Voyager.Common.Proxy.Abstractions (>= 1.9.0-preview.1)
-
net6.0
- Microsoft.ApplicationInsights (>= 2.22.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Voyager.Common.Proxy.Abstractions (>= 1.9.0-preview.1)
-
net8.0
- Microsoft.ApplicationInsights (>= 2.22.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Voyager.Common.Proxy.Abstractions (>= 1.9.0-preview.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.9.0-preview.1 | 32 | 2/19/2026 |
| 1.8.0-review.3 | 36 | 2/19/2026 |