The upcoming version of EventHubs .NET SDK was instrumented with DiagnosticSource and Activities. This instrumentation allows to collect dependency telemetry for Send and Receive operations which otherwise is not possible as EH uses AMQP protocol which is not HTTP-based.
More details about EH .NET SDK instrumentation can be found here: Azure/azure-event-hubs-dotnet#215
The EH SDK instrumentation will be picked up by the generic TelemetryDiagnosticSourceListener however some customizations are needed in order to make the telemetry user and UX friendly.
EventHubs telemetry properties
Dependencies:
EH operations that are tracked as dependency:
EventHubClient: SendAsync (Microsoft.Azure.EventHubs.Send activity)
PartitionSender: SendAsync (Microsoft.Azure.EventHubs.Send activity)
PartitionReceiver: ReceiveAsync (Microsoft.Azure.EventHubs.Receive activity)
Corresponding dependencies will have following properties:
- Target: 'endpoint | entityPath' ('sb://eventhubname.servicebus.windows.net/ | ehname')
- Type: 'Azure Event Hubs'
- Name: Operation name (i.e.
Send or Receive)
Telemetry also must have timestamp, duration, correlation identifiers and success (bool) property.
The upcoming version of EventHubs .NET SDK was instrumented with DiagnosticSource and Activities. This instrumentation allows to collect dependency telemetry for
SendandReceiveoperations which otherwise is not possible as EH uses AMQP protocol which is not HTTP-based.More details about EH .NET SDK instrumentation can be found here: Azure/azure-event-hubs-dotnet#215
The EH SDK instrumentation will be picked up by the generic
TelemetryDiagnosticSourceListenerhowever some customizations are needed in order to make the telemetry user and UX friendly.EventHubs telemetry properties
Dependencies:
EH operations that are tracked as dependency:
EventHubClient:SendAsync(Microsoft.Azure.EventHubs.Sendactivity)PartitionSender:SendAsync(Microsoft.Azure.EventHubs.Sendactivity)PartitionReceiver:ReceiveAsync(Microsoft.Azure.EventHubs.Receiveactivity)Corresponding dependencies will have following properties:
SendorReceive)Telemetry also must have timestamp, duration, correlation identifiers and success (bool) property.