Skip to content

Track dependencies from EventHubs #1417

@TomMilos

Description

@TomMilos

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions