Skip to content

Commit 0555fbd

Browse files
committed
fmt
1 parent 959432a commit 0555fbd

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

ddtrace/llmobs/_llmobs.py

+5-7
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
from ddtrace import config
1414
from ddtrace import patch
1515
from ddtrace._trace.context import Context
16+
from ddtrace.constants import ERROR_MSG
17+
from ddtrace.constants import ERROR_STACK
18+
from ddtrace.constants import ERROR_TYPE
1619
from ddtrace.ext import SpanTypes
1720
from ddtrace.internal import atexit
1821
from ddtrace.internal import core
@@ -27,6 +30,7 @@
2730
from ddtrace.internal.telemetry.constants import TELEMETRY_APM_PRODUCT
2831
from ddtrace.internal.utils.formats import asbool
2932
from ddtrace.internal.utils.formats import parse_tags_str
33+
from ddtrace.llmobs import _constants as constants
3034
from ddtrace.llmobs._constants import ANNOTATIONS_CONTEXT_ID
3135
from ddtrace.llmobs._constants import INPUT_DOCUMENTS
3236
from ddtrace.llmobs._constants import INPUT_MESSAGES
@@ -63,11 +67,6 @@
6367
from ddtrace.llmobs.utils import Messages
6468
from ddtrace.propagation.http import HTTPPropagator
6569

66-
from ..constants import ERROR_MSG
67-
from ..constants import ERROR_STACK
68-
from ..constants import ERROR_TYPE
69-
from . import _constants as constants
70-
7170

7271
log = get_logger(__name__)
7372

@@ -121,7 +120,6 @@ def _on_span_finish(self, span):
121120
def _submit_llmobs_span(self, span: Span) -> None:
122121
"""Generate and submit an LLMObs span event to be sent to LLMObs."""
123122
span_event = None
124-
is_llm_span = span._get_ctx_item(SPAN_KIND) == "llm"
125123
is_ragas_integration_span = False
126124
try:
127125
span_event, is_ragas_integration_span = self._llmobs_span_event(span)
@@ -131,7 +129,7 @@ def _submit_llmobs_span(self, span: Span) -> None:
131129
"Error generating LLMObs span event for span %s, likely due to malformed span", span, exc_info=True
132130
)
133131
finally:
134-
if not span_event or not is_llm_span or is_ragas_integration_span:
132+
if not span_event or is_ragas_integration_span:
135133
return
136134
if self._evaluator_runner:
137135
self._evaluator_runner.enqueue(span_event, span)

ddtrace/llmobs/_utils.py

+12-8
Original file line numberDiff line numberDiff line change
@@ -135,10 +135,12 @@ def _get_ml_app(span: Span) -> str:
135135
ml_app = span._get_ctx_item(ML_APP)
136136
if ml_app:
137137
return ml_app
138-
# TODO: go up the span tree to find the nearest LLMObs span with an ml_app
139-
nearest_llmobs_ancestor = _get_nearest_llmobs_ancestor(span)
140-
if nearest_llmobs_ancestor:
141-
ml_app = nearest_llmobs_ancestor._get_ctx_item(ML_APP)
138+
llmobs_parent = _get_nearest_llmobs_ancestor(span)
139+
while llmobs_parent:
140+
ml_app = llmobs_parent._get_ctx_item(ML_APP)
141+
if ml_app is not None:
142+
return ml_app
143+
llmobs_parent = _get_nearest_llmobs_ancestor(llmobs_parent)
142144
return ml_app or config._llmobs_ml_app or "unknown-ml-app"
143145

144146

@@ -150,10 +152,12 @@ def _get_session_id(span: Span) -> Optional[str]:
150152
session_id = span._get_ctx_item(SESSION_ID)
151153
if session_id:
152154
return session_id
153-
# TODO: go up the span tree to find the nearest LLMObs span with session
154-
nearest_llmobs_ancestor = _get_nearest_llmobs_ancestor(span)
155-
if nearest_llmobs_ancestor:
156-
session_id = nearest_llmobs_ancestor._get_ctx_item(SESSION_ID)
155+
llmobs_parent = _get_nearest_llmobs_ancestor(span)
156+
while llmobs_parent:
157+
session_id = llmobs_parent._get_ctx_item(SESSION_ID)
158+
if session_id is not None:
159+
return session_id
160+
llmobs_parent = _get_nearest_llmobs_ancestor(llmobs_parent)
157161
return session_id
158162

159163

tests/llmobs/test_llmobs_service.py

-1
Original file line numberDiff line numberDiff line change
@@ -1948,4 +1948,3 @@ def test_service_enable_does_not_start_evaluator_runner():
19481948
assert llmobs_service._instance._llmobs_span_writer.status.value == "running"
19491949
assert llmobs_service._instance._evaluator_runner.status.value == "stopped"
19501950
llmobs_service.disable()
1951-

0 commit comments

Comments
 (0)