From 75523b9e58c02921a6162e6a83b42f8ef9d09506 Mon Sep 17 00:00:00 2001 From: bloodearnest Date: Wed, 20 Mar 2024 15:21:44 +0000 Subject: [PATCH 1/2] Strip quotes from OTEL_EXPORTER_OTLP_HEADERS values Workaround a bug in docker-compose --- services/tracing.py | 5 +++++ tests/test_tracing.py | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/services/tracing.py b/services/tracing.py index f003649b..3088407e 100644 --- a/services/tracing.py +++ b/services/tracing.py @@ -37,6 +37,11 @@ def setup_default_tracing(set_global=True): """Inspect environment variables and set up exporters accordingly.""" if "OTEL_EXPORTER_OTLP_HEADERS" in os.environ: + # workaround for env file parsing issues + cleaned_headers = os.environ["OTEL_EXPORTER_OTLP_HEADERS"].strip("\"'") + # put back into env to be parsed properlh + os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = cleaned_headers + if "OTEL_EXPORTER_OTLP_ENDPOINT" not in os.environ: os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = "https://api.honeycomb.io" diff --git a/tests/test_tracing.py b/tests/test_tracing.py index 6dd07101..b82dc529 100644 --- a/tests/test_tracing.py +++ b/tests/test_tracing.py @@ -24,7 +24,8 @@ def test_setup_default_tracing_console(monkeypatch): def test_setup_default_tracing_otlp_defaults(monkeypatch): - env = {"PYTHONPATH": "", "OTEL_EXPORTER_OTLP_HEADERS": "foo=bar"} + # add single quotes to test quote stripping + env = {"PYTHONPATH": "", "OTEL_EXPORTER_OTLP_HEADERS": "'foo=bar'"} monkeypatch.setattr(os, "environ", env) monkeypatch.setattr( opentelemetry.exporter.otlp.proto.http.trace_exporter, "environ", env From 2bcb455a826c8efe548399a17e767b12eb4fb4b9 Mon Sep 17 00:00:00 2001 From: Simon Davy Date: Thu, 21 Mar 2024 12:42:47 +0000 Subject: [PATCH 2/2] Update services/tracing.py Co-authored-by: Dave Evans --- services/tracing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/tracing.py b/services/tracing.py index 3088407e..aef4a6f2 100644 --- a/services/tracing.py +++ b/services/tracing.py @@ -39,7 +39,7 @@ def setup_default_tracing(set_global=True): if "OTEL_EXPORTER_OTLP_HEADERS" in os.environ: # workaround for env file parsing issues cleaned_headers = os.environ["OTEL_EXPORTER_OTLP_HEADERS"].strip("\"'") - # put back into env to be parsed properlh + # put back into env to be parsed properly os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = cleaned_headers if "OTEL_EXPORTER_OTLP_ENDPOINT" not in os.environ: