Azure / Azure/azure-sdk-for-rust

[Service Bus] Add distributed tracing

Open
#4,958 0 comments 1 reaction 0 assignees View on GitHub
Client Service Bus
Dominant language
Rust
Stars
884
Forks
365
Avg merge
2d 19h
Merged PRs (30d)
109

Description

## Summary

The crate emits no spans. There is no distributed tracing instrumentation anywhere in `sdk/servicebus`.

## Motivation

`azure_messaging_eventhubs` instruments its producer, its consumer, its management client, its authorizer, and its recoverable layer. The Azure SDK guidelines require a stable client library to emit spans that follow the messaging conventions, so a caller can trace a message from the producer through the broker to the consumer.

Message tracing also needs the trace context to travel in the message application properties, which touches the message model from #4942.

## Proposal

- Add spans for send, receive, settle, and every management call.
- Follow the span names and the attributes that Event Hubs uses.
- Inject and extract the trace context through the message application properties.

## Dependencies

Blocked by:

- #4941 [Service Bus] Settle the public API shape before API review

Sub-issue of #4934.

Contributor guide

Open the contributing guide

Research direction

Start in sdk/servicebus and compare the instrumentation used by azure_messaging_eventhubs for producer, consumer, management, authorizer, and recoverable operations. Wait for #4941 to settle the public API shape, then coordinate with the message model work in #4942; done means send, receive, settle, and management calls emit matching spans and trace context is injected and extracted through application properties.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, rust
Domain
distributed-systems, observability-sre
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.