diff --git a/sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/_tracing.py b/sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/_tracing.py index b1d677ba9f13..b248b7a5ba2a 100644 --- a/sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/_tracing.py +++ b/sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/_tracing.py @@ -49,7 +49,7 @@ _ATTR_GEN_AI_SYSTEM = "gen_ai.system" _ATTR_GEN_AI_PROVIDER_NAME = "gen_ai.provider.name" _ATTR_GEN_AI_AGENT_ID = "gen_ai.agent.id" -_ATTR_GEN_AI_AGENT_BLUEPRINT_ID = "gen_ai.agent.blueprint.id" +_ATTR_GEN_AI_AGENT_BLUEPRINT_ID = "microsoft.a365.agent.blueprint.id" _ATTR_GEN_AI_AGENT_TENANT_ID = "microsoft.tenant.id" _ATTR_GEN_AI_AGENT_NAME = "gen_ai.agent.name" _ATTR_GEN_AI_AGENT_VERSION = "gen_ai.agent.version" diff --git a/sdk/agentserver/azure-ai-agentserver-core/tests/test_tracing.py b/sdk/agentserver/azure-ai-agentserver-core/tests/test_tracing.py index 5eefa9ac2a27..600b587afab6 100644 --- a/sdk/agentserver/azure-ai-agentserver-core/tests/test_tracing.py +++ b/sdk/agentserver/azure-ai-agentserver-core/tests/test_tracing.py @@ -221,6 +221,21 @@ def test_agent_attrs_survive_framework_overwrite(self) -> None: assert attrs["gen_ai.agent.name"] == "my-agent" assert attrs["gen_ai.agent.id"] == "my-agent:1.0" + def test_blueprint_id_uses_correct_attribute_key(self) -> None: + """agent_blueprint_id must be emitted under microsoft.a365.agent.blueprint.id.""" + proc = _FoundryEnrichmentSpanProcessor( + agent_name="my-agent", agent_version="1.0", + agent_id="my-agent:1.0", agent_blueprint_id="bp-abc-123", + ) + provider, collector = self._create_provider(proc) + tracer = provider.get_tracer("test") + + with tracer.start_as_current_span("span"): + pass + + attrs = dict(collector.spans[0].attributes) + assert attrs["microsoft.a365.agent.blueprint.id"] == "bp-abc-123" + def test_none_fields_are_skipped(self) -> None: proc = _FoundryEnrichmentSpanProcessor( agent_name=None, agent_version=None,