1
- import mock
2
1
import pytest
3
2
4
3
from ddtrace .ext import SpanTypes
8
7
from tests .llmobs ._utils import _expected_llmobs_llm_span_event
9
8
10
9
11
- @pytest .fixture
12
- def mock_logs ():
13
- with mock .patch ("ddtrace.llmobs._trace_processor.log" ) as mock_logs :
14
- yield mock_logs
15
-
16
-
17
10
class TestMLApp :
18
11
@pytest .mark .parametrize ("llmobs_env" , [{"DD_LLMOBS_ML_APP" : "<not-a-real-app-name>" }])
19
12
def test_tag_defaults_to_env_var (self , tracer , llmobs_env , llmobs_events ):
@@ -228,19 +221,19 @@ def test_model_and_provider_are_set(tracer, llmobs_events):
228
221
assert span_event ["meta" ]["model_provider" ] == "model_provider"
229
222
230
223
231
- def test_malformed_span_logs_error_instead_of_raising (mock_logs , tracer , llmobs_events ):
224
+ def test_malformed_span_logs_error_instead_of_raising (tracer , llmobs_events , mock_llmobs_logs ):
232
225
"""Test that a trying to create a span event from a malformed span will log an error instead of crashing."""
233
226
with tracer .trace ("root_llm_span" , span_type = SpanTypes .LLM ) as llm_span :
234
227
# span does not have SPAN_KIND tag
235
228
pass
236
- mock_logs .error .assert_called_once_with (
237
- "Error generating LLMObs span event for span %s, likely due to malformed span" , llm_span
229
+ mock_llmobs_logs .error .assert_called_with (
230
+ "Error generating LLMObs span event for span %s, likely due to malformed span" , llm_span , exc_info = True
238
231
)
239
232
assert len (llmobs_events ) == 0
240
233
241
234
242
- def test_processor_only_creates_llmobs_span_event (tracer , llmobs_events ):
243
- """Test that the LLMObsTraceProcessor only creates LLMObs span events for LLM span types."""
235
+ def test_only_generate_span_events_from_llmobs_spans (tracer , llmobs_events ):
236
+ """Test that we only generate LLMObs span events for LLM span types."""
244
237
with tracer .trace ("root_llm_span" , service = "tests.llmobs" , span_type = SpanTypes .LLM ) as root_span :
245
238
root_span ._set_ctx_item (const .SPAN_KIND , "llm" )
246
239
with tracer .trace ("child_span" ):
@@ -250,5 +243,5 @@ def test_processor_only_creates_llmobs_span_event(tracer, llmobs_events):
250
243
expected_grandchild_llmobs_span ["parent_id" ] = str (root_span .span_id )
251
244
252
245
assert len (llmobs_events ) == 2
253
- assert llmobs_events [0 ] == _expected_llmobs_llm_span_event (root_span , "llm" )
254
- assert llmobs_events [1 ] == expected_grandchild_llmobs_span
246
+ assert llmobs_events [1 ] == _expected_llmobs_llm_span_event (root_span , "llm" )
247
+ assert llmobs_events [0 ] == expected_grandchild_llmobs_span
0 commit comments