Skip to content

Commit 19448c5

Browse files
committed
use semconv attrs directly
1 parent 34ec310 commit 19448c5

2 files changed

Lines changed: 9 additions & 34 deletions

File tree

util/opentelemetry-util-genai/src/opentelemetry/util/genai/span_utils.py

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,6 @@
4949
)
5050

5151

52-
def _agent_attr(name: str, fallback: str) -> str:
53-
"""Get a semconv attribute, falling back to a string literal if not yet in the package."""
54-
return getattr(GenAI, name, fallback)
55-
56-
57-
_GEN_AI_AGENT_NAME = _agent_attr("GEN_AI_AGENT_NAME", "gen_ai.agent.name")
58-
_GEN_AI_AGENT_ID = _agent_attr("GEN_AI_AGENT_ID", "gen_ai.agent.id")
59-
_GEN_AI_AGENT_DESCRIPTION = _agent_attr(
60-
"GEN_AI_AGENT_DESCRIPTION", "gen_ai.agent.description"
61-
)
62-
_GEN_AI_AGENT_VERSION = _agent_attr(
63-
"GEN_AI_AGENT_VERSION", "gen_ai.agent.version"
64-
)
65-
66-
6752
def _get_llm_common_attributes(
6853
invocation: LLMInvocation,
6954
) -> dict[str, Any]:
@@ -303,10 +288,10 @@ def _get_base_agent_common_attributes(
303288
optional_attrs = (
304289
(GenAI.GEN_AI_REQUEST_MODEL, agent.model),
305290
(GenAI.GEN_AI_PROVIDER_NAME, agent.provider),
306-
(_GEN_AI_AGENT_NAME, agent.name),
307-
(_GEN_AI_AGENT_ID, agent.agent_id),
308-
(_GEN_AI_AGENT_DESCRIPTION, agent.description),
309-
(_GEN_AI_AGENT_VERSION, agent.version),
291+
(GenAI.GEN_AI_AGENT_NAME, agent.name),
292+
(GenAI.GEN_AI_AGENT_ID, agent.agent_id),
293+
(GenAI.GEN_AI_AGENT_DESCRIPTION, agent.description),
294+
("gen_ai.agent.version", agent.version),
310295
(server_attributes.SERVER_ADDRESS, agent.server_address),
311296
(server_attributes.SERVER_PORT, agent.server_port),
312297
)
@@ -373,10 +358,6 @@ def _apply_creation_finish_attributes(
373358
"_get_llm_response_attributes",
374359
"_get_llm_span_name",
375360
"_maybe_emit_llm_event",
376-
"_GEN_AI_AGENT_NAME",
377-
"_GEN_AI_AGENT_ID",
378-
"_GEN_AI_AGENT_DESCRIPTION",
379-
"_GEN_AI_AGENT_VERSION",
380361
"_get_base_agent_common_attributes",
381362
"_get_base_agent_span_name",
382363
"_apply_creation_finish_attributes",

util/opentelemetry-util-genai/tests/test_handler_agent.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@
1212
)
1313
from opentelemetry.trace import SpanKind
1414
from opentelemetry.util.genai.handler import TelemetryHandler
15-
from opentelemetry.util.genai.span_utils import (
16-
_GEN_AI_AGENT_DESCRIPTION,
17-
_GEN_AI_AGENT_ID,
18-
_GEN_AI_AGENT_NAME,
19-
_GEN_AI_AGENT_VERSION,
20-
)
2115
from opentelemetry.util.genai.types import (
2216
AgentCreation,
2317
Error,
@@ -55,7 +49,7 @@ def test_start_stop_create_agent(self) -> None:
5549
self.assertEqual(
5650
span.attributes[GenAI.GEN_AI_OPERATION_NAME], "create_agent"
5751
)
58-
self.assertEqual(span.attributes[_GEN_AI_AGENT_NAME], "New Agent")
52+
self.assertEqual(span.attributes[GenAI.GEN_AI_AGENT_NAME], "New Agent")
5953

6054
def test_create_agent_span_kind_is_client(self) -> None:
6155
handler = self._make_handler()
@@ -85,10 +79,10 @@ def test_create_agent_with_all_base_attributes(self) -> None:
8579
self.assertEqual(len(spans), 1)
8680
attrs = spans[0].attributes
8781
self.assertEqual(attrs[GenAI.GEN_AI_OPERATION_NAME], "create_agent")
88-
self.assertEqual(attrs[_GEN_AI_AGENT_NAME], "Full Agent")
89-
self.assertEqual(attrs[_GEN_AI_AGENT_ID], "agent-123")
90-
self.assertEqual(attrs[_GEN_AI_AGENT_DESCRIPTION], "A test agent")
91-
self.assertEqual(attrs[_GEN_AI_AGENT_VERSION], "1.0.0")
82+
self.assertEqual(attrs[GenAI.GEN_AI_AGENT_NAME], "Full Agent")
83+
self.assertEqual(attrs[GenAI.GEN_AI_AGENT_ID], "agent-123")
84+
self.assertEqual(attrs[GenAI.GEN_AI_AGENT_DESCRIPTION], "A test agent")
85+
self.assertEqual(attrs["gen_ai.agent.version"], "1.0.0")
9286
self.assertEqual(attrs[GenAI.GEN_AI_PROVIDER_NAME], "openai")
9387
self.assertEqual(attrs[GenAI.GEN_AI_REQUEST_MODEL], "gpt-4")
9488

0 commit comments

Comments
 (0)