Product
.NET SDK, Go SDK, Rust SDK
Azure Iot Operations version
latest
What happened?
Customers want to have observability what is going on in their AIO environment. AIO is using OpenTelemetry as standard for logs, metrics and traces. To capture distributed calls, W3C has standardized a trace header, that contains trace parent and trace state. The SDK should be aware of those and integrate them automatically:
- CommandInvoker: Automatically propagate traceparent + tracestate as MQTT user properties using CloudEvents observability extension names
- Customer override: Allow users to provide their own tracing values via request metadata (not blocked as reserved)
- CommandExecutor: Extract tracing context from user properties and create a child span
- .NET: Use System.Diagnostics.Activity / ActivitySource
- Rust: Add opentelemetry crate
- Go: add opentelmetry package
- Telemetry (sender/receiver) should also get tracing
List the steps to reproduce
No response
Code of Conduct
Product
.NET SDK, Go SDK, Rust SDK
Azure Iot Operations version
latest
What happened?
Customers want to have observability what is going on in their AIO environment. AIO is using OpenTelemetry as standard for logs, metrics and traces. To capture distributed calls, W3C has standardized a trace header, that contains trace parent and trace state. The SDK should be aware of those and integrate them automatically:
List the steps to reproduce
No response
Code of Conduct