2121from agentops .semconv .span_kinds import AgentOpsSpanKindValues
2222
2323from opentelemetry import context as context_api
24- from opentelemetry .trace import SpanKind , Status , StatusCode , get_tracer
24+ from opentelemetry .trace import SpanKind , Status , StatusCode , get_tracer , set_span_in_context
2525
2626logger = logging .getLogger (__name__ )
2727
2828LLM_REQUEST_TYPE = LLMRequestTypeValues .CHAT
2929
3030
31- def _create_tool_span (parent_span , tool_call_data ):
31+ def _create_tool_span (parent_span : Span , tool_call_data : Dict [ str , Any ] ):
3232 """
3333 Create a distinct span for each tool call.
3434
@@ -43,7 +43,7 @@ def _create_tool_span(parent_span, tool_call_data):
4343 with tracer .start_as_current_span (
4444 name = f"tool_call.{ tool_call_data ['function' ]['name' ]} " ,
4545 kind = SpanKind .INTERNAL ,
46- context = context_api .set_value ( "current_span" , parent_span )
46+ context = set_span_in_context ( context_api .get_current () , parent_span )
4747 ) as tool_span :
4848 # Set the span kind to TOOL
4949 tool_span .set_attribute ("agentops.span.kind" , AgentOpsSpanKindValues .TOOL )
@@ -53,9 +53,6 @@ def _create_tool_span(parent_span, tool_call_data):
5353 tool_span .set_attribute (ToolAttributes .TOOL_PARAMETERS , tool_call_data ['function' ]['arguments' ])
5454 tool_span .set_attribute ("tool.call.id" , tool_call_data ['id' ])
5555 tool_span .set_attribute ("tool.call.type" , tool_call_data ['type' ])
56-
57- # Set status to OK for successful tool call creation
58- tool_span .set_status (Status (StatusCode .OK ))
5956
6057
6158def handle_chat_attributes (
0 commit comments