Skip to content

Commit afd51b8

Browse files
committed
fix: Add asyncio task context propagation to env vars
Signed-off-by: Cagri Yonca <cagri@ibm.com>
1 parent 51d12ba commit afd51b8

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

src/instana/options.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,11 @@ def set_trace_configurations(self) -> None:
115115
"trace_correlation", True
116116
)
117117

118+
if "INSTANA_ASYNCIO_TASK_CONTEXT_PROPAGATION" in os.environ:
119+
config["asyncio_task_context_propagation"]["enabled"] = is_truthy(
120+
os.environ["INSTANA_ASYNCIO_TASK_CONTEXT_PROPAGATION"]
121+
)
122+
118123
self.set_disable_trace_configurations()
119124
self.set_stack_trace_configurations()
120125
self.set_span_filter_configurations()

tests/test_options.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,23 @@ def test_tracing_filter_environment_variables(self) -> None:
842842
],
843843
}
844844

845+
def test_asyncio_task_context_propagation_default(self) -> None:
846+
"""INSTANA_ASYNCIO_TASK_CONTEXT_PROPAGATION is False by default."""
847+
self.base_options = BaseOptions()
848+
assert config["asyncio_task_context_propagation"]["enabled"] is False
849+
850+
@patch.dict(os.environ, {"INSTANA_ASYNCIO_TASK_CONTEXT_PROPAGATION": "true"})
851+
def test_asyncio_task_context_propagation_enabled_via_env(self) -> None:
852+
"""INSTANA_ASYNCIO_TASK_CONTEXT_PROPAGATION=true enables the flag."""
853+
self.base_options = BaseOptions()
854+
assert config["asyncio_task_context_propagation"]["enabled"] is True
855+
856+
@patch.dict(os.environ, {"INSTANA_ASYNCIO_TASK_CONTEXT_PROPAGATION": "false"})
857+
def test_asyncio_task_context_propagation_disabled_via_env(self) -> None:
858+
"""INSTANA_ASYNCIO_TASK_CONTEXT_PROPAGATION=false keeps the flag disabled."""
859+
self.base_options = BaseOptions()
860+
assert config["asyncio_task_context_propagation"]["enabled"] is False
861+
845862

846863
class TestStandardOptions:
847864
@pytest.fixture(autouse=True)

0 commit comments

Comments
 (0)