mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-10 08:28:25 +00:00
test(otel): assert exported raw spans instead of mock calls
This commit is contained in:
parent
cb4a355863
commit
ccf02ad73e
1 changed files with 28 additions and 9 deletions
|
|
@ -1756,22 +1756,41 @@ class TestOpenTelemetry(unittest.TestCase):
|
|||
|
||||
@patch.dict(os.environ, {"OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT": ""})
|
||||
@patch("litellm.turn_off_message_logging", False)
|
||||
def test_maybe_log_raw_request_skips_when_request_header_enables_redaction(self):
|
||||
def test_maybe_log_raw_request_exports_span_only_without_redaction_header(self):
|
||||
from opentelemetry.sdk.trace import TracerProvider
|
||||
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
|
||||
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
|
||||
InMemorySpanExporter,
|
||||
)
|
||||
|
||||
from litellm.integrations.opentelemetry import RAW_REQUEST_SPAN_NAME
|
||||
|
||||
exporter = InMemorySpanExporter()
|
||||
provider = TracerProvider()
|
||||
provider.add_span_processor(SimpleSpanProcessor(exporter))
|
||||
tracer = provider.get_tracer("test")
|
||||
otel = OpenTelemetry()
|
||||
otel.message_logging = True
|
||||
mock_tracer = MagicMock()
|
||||
otel.get_tracer_to_use_for_request = MagicMock(return_value=mock_tracer)
|
||||
otel.get_tracer_to_use_for_request = MagicMock(return_value=tracer)
|
||||
|
||||
def exported_raw_spans(headers):
|
||||
exporter.clear()
|
||||
kwargs = {"litellm_params": {"metadata": {"headers": headers}}}
|
||||
otel._maybe_log_raw_request(
|
||||
kwargs, {}, datetime.now(), datetime.now(), tracer.start_span("parent")
|
||||
)
|
||||
return [
|
||||
span
|
||||
for span in exporter.get_finished_spans()
|
||||
if span.name == RAW_REQUEST_SPAN_NAME
|
||||
]
|
||||
|
||||
self.assertEqual(len(exported_raw_spans({})), 1)
|
||||
for header in (
|
||||
"x-litellm-enable-message-redaction",
|
||||
"litellm-enable-message-redaction",
|
||||
):
|
||||
kwargs = {"litellm_params": {"metadata": {"headers": {header: "true"}}}}
|
||||
otel._maybe_log_raw_request(
|
||||
kwargs, {}, datetime.now(), datetime.now(), MagicMock()
|
||||
)
|
||||
|
||||
mock_tracer.start_span.assert_not_called()
|
||||
self.assertEqual(exported_raw_spans({header: "true"}), [])
|
||||
|
||||
|
||||
class TestOpenTelemetryToNs(unittest.TestCase):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue