Skip to content
This repository was archived by the owner on Feb 20, 2025. It is now read-only.

Commit 179b178

Browse files
committed
fix: tracing headers
1 parent ef37b31 commit 179b178

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

hatchet_sdk/utils/tracing.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,18 @@
1616
OTEL_CARRIER_KEY = "__otel_carrier"
1717

1818

19+
def parse_headers(headers: str | None) -> dict[str, str]:
20+
if headers is None:
21+
return {}
22+
23+
try:
24+
otel_header_key, api_key = headers.split("=", maxsplit=1)
25+
26+
return {otel_header_key: api_key}
27+
except ValueError:
28+
raise ValueError("OTLP headers must be in the format `key=value`")
29+
30+
1931
@cache
2032
def create_tracer(config: ClientConfig) -> Tracer:
2133
## TODO: Figure out how to specify protocol here
@@ -27,7 +39,7 @@ def create_tracer(config: ClientConfig) -> Tracer:
2739
processor = BatchSpanProcessor(
2840
OTLPSpanExporter(
2941
endpoint=config.otel_exporter_oltp_endpoint,
30-
headers=config.otel_exporter_oltp_headers,
42+
headers=parse_headers(config.otel_exporter_oltp_headers),
3143
),
3244
)
3345

@@ -67,4 +79,4 @@ def parse_carrier_from_metadata(metadata: dict[str, Any] | None) -> Context | No
6779
TraceContextTextMapPropagator().extract(_ctx)
6880
if (_ctx := metadata.get(OTEL_CARRIER_KEY))
6981
else None
70-
)
82+
)

0 commit comments

Comments
 (0)