@@ -170,7 +170,6 @@ def my_agent():
170170 item .payload for item in items if item .type == "span"
171171 )
172172
173- assert agent_span ["attributes" ]["sentry.op" ] == "gen_ai.invoke_agent"
174173 assert (
175174 agent_span ["name" ]
176175 == "invoke_agent test_decorator.test_span_templates_ai_dicts.<locals>.my_agent"
@@ -190,7 +189,6 @@ def my_agent():
190189 "thread.name" : mock .ANY ,
191190 }
192191
193- assert tool_span ["attributes" ]["sentry.op" ] == "gen_ai.execute_tool"
194192 assert (
195193 tool_span ["name" ]
196194 == "execute_tool test_decorator.test_span_templates_ai_dicts.<locals>.my_tool"
@@ -214,7 +212,6 @@ def my_agent():
214212 }
215213 assert "gen_ai.tool.description" not in tool_span ["attributes" ]
216214
217- assert chat_span ["attributes" ]["sentry.op" ] == "gen_ai.chat"
218215 assert chat_span ["name" ] == "chat my-gpt-4o-mini"
219216 assert chat_span ["attributes" ] == {
220217 "gen_ai.operation.name" : "chat" ,
@@ -243,9 +240,9 @@ def my_agent():
243240 }
244241
245242
246- def test_span_templates_ai_objects (sentry_init , capture_events ):
243+ def test_span_templates_ai_objects (sentry_init , capture_items ):
247244 sentry_init (traces_sample_rate = 1.0 )
248- events = capture_events ( )
245+ items = capture_items ( "span" )
249246
250247 @sentry_sdk .trace (template = SPANTEMPLATE .AI_TOOL )
251248 def my_tool (arg1 , arg2 ):
@@ -292,40 +289,54 @@ def my_agent():
292289 with sentry_sdk .start_transaction (name = "test-transaction" ):
293290 my_agent ()
294291
295- (event ,) = events
296- (agent_span , tool_span , chat_span ) = event ["spans" ]
292+ (agent_span , tool_span , chat_span ) = (
293+ item .payload for item in items if item .type == "span"
294+ )
297295
298- assert agent_span ["op" ] == "gen_ai.invoke_agent"
299296 assert (
300- agent_span ["description " ]
297+ agent_span ["name " ]
301298 == "invoke_agent test_decorator.test_span_templates_ai_objects.<locals>.my_agent"
302299 )
303- assert agent_span ["data " ] == {
300+ assert agent_span ["attributes " ] == {
304301 "gen_ai.agent.name" : "test_decorator.test_span_templates_ai_objects.<locals>.my_agent" ,
305302 "gen_ai.operation.name" : "invoke_agent" ,
303+ "sentry.environment" : "production" ,
304+ "sentry.op" : "gen_ai.invoke_agent" ,
305+ "sentry.origin" : "manual" ,
306+ "sentry.release" : mock .ANY ,
307+ "sentry.sdk.name" : "sentry.python" ,
308+ "sentry.sdk.version" : mock .ANY ,
309+ "sentry.segment.id" : mock .ANY ,
310+ "sentry.segment.name" : "test-transaction" ,
306311 "thread.id" : mock .ANY ,
307312 "thread.name" : mock .ANY ,
308313 }
309314
310- assert tool_span ["op" ] == "gen_ai.execute_tool"
311315 assert (
312- tool_span ["description " ]
316+ tool_span ["name " ]
313317 == "execute_tool test_decorator.test_span_templates_ai_objects.<locals>.my_tool"
314318 )
315- assert tool_span ["data " ] == {
319+ assert tool_span ["attributes " ] == {
316320 "gen_ai.tool.name" : "test_decorator.test_span_templates_ai_objects.<locals>.my_tool" ,
317321 "gen_ai.tool.description" : "This is a tool function." ,
318322 "gen_ai.operation.name" : "execute_tool" ,
319323 "gen_ai.usage.input_tokens" : 10 ,
320324 "gen_ai.usage.output_tokens" : 20 ,
321325 "gen_ai.usage.total_tokens" : 30 ,
326+ "sentry.environment" : "production" ,
327+ "sentry.op" : "gen_ai.execute_tool" ,
328+ "sentry.origin" : "manual" ,
329+ "sentry.release" : mock .ANY ,
330+ "sentry.sdk.name" : "sentry.python" ,
331+ "sentry.sdk.version" : mock .ANY ,
332+ "sentry.segment.id" : mock .ANY ,
333+ "sentry.segment.name" : "test-transaction" ,
322334 "thread.id" : mock .ANY ,
323335 "thread.name" : mock .ANY ,
324336 }
325337
326- assert chat_span ["op" ] == "gen_ai.chat"
327- assert chat_span ["description" ] == "chat my-gpt-4o-mini"
328- assert chat_span ["data" ] == {
338+ assert chat_span ["name" ] == "chat my-gpt-4o-mini"
339+ assert chat_span ["attributes" ] == {
329340 "gen_ai.operation.name" : "chat" ,
330341 "gen_ai.request.frequency_penalty" : 1.0 ,
331342 "gen_ai.request.max_tokens" : 100 ,
@@ -339,6 +350,14 @@ def my_agent():
339350 "gen_ai.usage.input_tokens" : 11 ,
340351 "gen_ai.usage.output_tokens" : 22 ,
341352 "gen_ai.usage.total_tokens" : 33 ,
353+ "sentry.environment" : "production" ,
354+ "sentry.op" : "gen_ai.chat" ,
355+ "sentry.origin" : "manual" ,
356+ "sentry.release" : mock .ANY ,
357+ "sentry.sdk.name" : "sentry.python" ,
358+ "sentry.sdk.version" : mock .ANY ,
359+ "sentry.segment.id" : mock .ANY ,
360+ "sentry.segment.name" : "test-transaction" ,
342361 "thread.id" : mock .ANY ,
343362 "thread.name" : mock .ANY ,
344363 }
0 commit comments