Skip to content

KeyError 'baggage' when using otel / OpenTelemetry plugin on 2.7.0 #3216

Closed
@ripperdoc

Description

@ripperdoc

How do you use Sentry?

Sentry Saas (sentry.io)

Version

2.7.0

Steps to Reproduce

Will give the basic details and see if I can return with some more info if needed. Our server just went down because upgrading to 2.7.0. All previous versions of Sentry work. We are using OpenTelemetry, with code like this:

    sentry_sdk.init(
        dsn=dsn,
        sample_rate=or_default(default_config.sentry_error_sample_rate, 1.0),
        traces_sample_rate=or_default(default_config.sentry_tracing_sample_rate, 1.0),
        environment=os.getenv("SENTRY_ENVIRONMENT") or os.getenv("FIREBASE_PROJECT"),
        instrumenter="otel",
        release=version,
    )
    provider = TracerProvider()
    provider.add_span_processor(SentrySpanProcessor())
    trace.set_tracer_provider(provider)
    set_global_textmap(SentryPropagator())

We then get a KeyError 'baggage' when calling start_span.

Expected Result

Expected it to not throw Exception when starting span.

Actual Result

Stack trace

KeyError: 'baggage'
  File "<redacted>", line 207, in handle_generate_response
    agent_span = tracer.start_span(f"{tracer_name_start}.generate_total")
  File "/usr/local/lib/python3.10/site-packages/opentelemetry/sdk/trace/__init__.py", line 1165, in start_span
    span.start(start_time=start_time, parent_context=context)
  File "/usr/local/lib/python3.10/site-packages/opentelemetry/sdk/trace/__init__.py", line 922, in start
    self._span_processor.on_start(self, parent_context=parent_context)
  File "/usr/local/lib/python3.10/site-packages/opentelemetry/sdk/trace/__init__.py", line 164, in on_start
    sp.on_start(span, parent_context=parent_context)

In pip freeze, the relevant versions on the breaking install is:

fastapi==0.95.2
opentelemetry-api==1.25.0
opentelemetry-distro==0.46b0
opentelemetry-instrumentation==0.46b0
opentelemetry-sdk==1.25.0
opentelemetry-semantic-conventions==0.46b0
sentry-sdk==2.7.0

And Python 3.11.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions