Implement an OpenTelemetry v2 plugin for the Go SDK, matching the plugin conventions established in the Python and TypeScript SDKs. New opt-in package, not a replacement for the existing contrib/opentelemetry interceptor package.
Scope:
- Ships as a
temporal.SimplePlugin passed to client/worker creation, rather than manually wiring up NewTracingInterceptor.
- Span IDs are deterministic across workflow replay.
- Span durations reflect real workflow time, not replay time.
- Users can add their own spans for application logic in workflow code, activity code, and client code, with correct duration and parenting.
Histories will be incompatible for replay with the v1 interceptor package, so this must live as a separate package.
Reference implementations:
Implement an OpenTelemetry v2 plugin for the Go SDK, matching the plugin conventions established in the Python and TypeScript SDKs. New opt-in package, not a replacement for the existing
contrib/opentelemetryinterceptor package.Scope:
temporal.SimplePluginpassed to client/worker creation, rather than manually wiring upNewTracingInterceptor.Histories will be incompatible for replay with the v1 interceptor package, so this must live as a separate package.
Reference implementations: