From 8d1f2501310fcb34d7031eae1a6f124799ec8ed9 Mon Sep 17 00:00:00 2001 From: visheshdvivedi Date: Sun, 2 Nov 2025 21:46:39 +0530 Subject: [PATCH 1/2] feature: add 'trace_content' flag and relevant test cases --- packages/traceloop-sdk/tests/conftest.py | 27 +++++++++++++++++++ .../traceloop-sdk/traceloop/sdk/__init__.py | 3 ++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/packages/traceloop-sdk/tests/conftest.py b/packages/traceloop-sdk/tests/conftest.py index 0daa90813b..860b7009bb 100644 --- a/packages/traceloop-sdk/tests/conftest.py +++ b/packages/traceloop-sdk/tests/conftest.py @@ -223,6 +223,33 @@ def on_start(self, span, parent_context=None): TracerWrapper.instance = _trace_wrapper_instance +@pytest.fixture +def exporter_with_trace_content_override(): + # Clear singleton if existed + if hasattr(TracerWrapper, "instance"): + _trace_wrapper_instance = TracerWrapper.instance + del TracerWrapper.instance + + # Set environment variable to false + os.environ["TRACELOOP_TRACE_CONTENT"] = "false" + + # Create exporter with trace_content=True to override env var + exporter = InMemorySpanExporter() + Traceloop.init( + exporter=exporter, + disable_batch=True, + trace_content=True # This should override the env var + ) + + yield exporter + + # Restore singleton if any + if _trace_wrapper_instance: + TracerWrapper.instance = _trace_wrapper_instance + # Clean up environment + del os.environ["TRACELOOP_TRACE_CONTENT"] + + @pytest.fixture def datasets(): """Create a Datasets instance with HTTP client for VCR recording/playback""" diff --git a/packages/traceloop-sdk/traceloop/sdk/__init__.py b/packages/traceloop-sdk/traceloop/sdk/__init__.py index 1b91cb9ff6..08a1b2e72b 100644 --- a/packages/traceloop-sdk/traceloop/sdk/__init__.py +++ b/packages/traceloop-sdk/traceloop/sdk/__init__.py @@ -64,6 +64,7 @@ def init( sampler: Optional[Sampler] = None, traceloop_sync_enabled: bool = False, should_enrich_metrics: bool = True, + trace_content: bool = True, resource_attributes: dict = {}, instruments: Optional[Set[Instruments]] = None, block_instruments: Optional[Set[Instruments]] = None, @@ -94,7 +95,7 @@ def init( print(Fore.YELLOW + "Tracing is disabled" + Fore.RESET) return - enable_content_tracing = is_content_tracing_enabled() + enable_content_tracing = trace_content or is_content_tracing_enabled() if exporter or processor: print(Fore.GREEN + "Traceloop exporting traces to a custom exporter") From 136655e6e7ce3e959bda2f38eb3f957a5731051a Mon Sep 17 00:00:00 2001 From: visheshdvivedi Date: Sun, 2 Nov 2025 21:55:38 +0530 Subject: [PATCH 2/2] update test case --- packages/traceloop-sdk/tests/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/traceloop-sdk/tests/conftest.py b/packages/traceloop-sdk/tests/conftest.py index 860b7009bb..2872927497 100644 --- a/packages/traceloop-sdk/tests/conftest.py +++ b/packages/traceloop-sdk/tests/conftest.py @@ -226,6 +226,7 @@ def on_start(self, span, parent_context=None): @pytest.fixture def exporter_with_trace_content_override(): # Clear singleton if existed + _trace_wrapper_instance = None if hasattr(TracerWrapper, "instance"): _trace_wrapper_instance = TracerWrapper.instance del TracerWrapper.instance