Skip to content

feat(sdk): add OpenTelemetry tracing integration - #1591

Open
eamsden wants to merge 1 commit into
mainfrom
eamsden/opentelemetry-integration
Open

feat(sdk): add OpenTelemetry tracing integration#1591
eamsden wants to merge 1 commit into
mainfrom
eamsden/opentelemetry-integration

Conversation

@eamsden

@eamsden eamsden commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

What was changed

  • Add an optional opentelemetry feature to the main Rust SDK crate.
  • Add a plugin that creates spans for client, Workflow, and Activity operations.
  • Propagate W3C Trace Context and W3C Baggage in the cross-SDK _tracer-data header.
  • Add replay-safe Workflow span IDs and suppress span export during replay.
  • Preserve application span context across Workflow polls and calls.
  • Add unit tests and a live-and-replay integration test.

This integration does not trace inbound Nexus handlers because the Rust SDK does not provide an interceptor for those handlers.

Why?

The Rust SDK needs the same general OpenTelemetry behavior as other Temporal SDKs. Applications must be able to trace Temporal operations and propagate trace context across SDK boundaries.

Checklist

  1. Closes: N/A

  2. How was this tested:

  • cargo lint
  • cargo test-lint
  • cargo test -p temporalio-sdk --features opentelemetry --lib
  • cargo integ-test opentelemetry_plugin_parents_activity_to_application_workflow_span
  • cargo doc -p temporalio-sdk --features opentelemetry --no-deps
  1. Any docs updates needed?
    tbd

@eamsden
eamsden marked this pull request as ready for review September 4, 2026 22:49
@eamsden
eamsden requested a review from a team as a code owner September 4, 2026 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant