Skip to content

Commit 0d43616

Browse files
simplify
1 parent 36ca817 commit 0d43616

File tree

1 file changed

+7
-14
lines changed

1 file changed

+7
-14
lines changed

sentry_sdk/integrations/langchain.py

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,9 @@ def _record_token_usage(span: "Span", response: "Any") -> None:
758758
span.set_data(SPANDATA.GEN_AI_USAGE_TOTAL_TOKENS, total_tokens)
759759

760760

761-
def _get_available_tools(obj: "Any") -> "Optional[List[Any]]":
761+
def _get_request_data(
762+
obj: "Any", args: "Any", kwargs: "Any"
763+
) -> "tuple[Optional[str], Optional[List[Any]]]":
762764
"""
763765
Get the agent name and available tools for the agent.
764766
"""
@@ -773,13 +775,6 @@ def _get_available_tools(obj: "Any") -> "Optional[List[Any]]":
773775
)
774776
tools = tools if tools and len(tools) > 0 else None
775777

776-
return tools
777-
778-
779-
def _get_run_name(obj: "Any", args: "Any") -> "Optional[str]":
780-
agent = getattr(obj, "agent", None)
781-
runnable = getattr(agent, "runnable", None)
782-
runnable_config = getattr(runnable, "config", {})
783778
try:
784779
agent_name = None
785780
if len(args) > 1:
@@ -789,7 +784,7 @@ def _get_run_name(obj: "Any", args: "Any") -> "Optional[str]":
789784
except Exception:
790785
pass
791786

792-
return agent_name
787+
return (agent_name, tools)
793788

794789

795790
def _simplify_langchain_tools(tools: "Any") -> "Optional[List[Any]]":
@@ -957,8 +952,9 @@ def new_invoke(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
957952
if integration is None:
958953
return f(self, *args, **kwargs)
959954

955+
run_name, tools = _get_request_data(self, args, kwargs)
960956
start_span_function = get_start_span_function()
961-
run_name = _get_run_name(self, args)
957+
962958
with start_span_function(
963959
op=OP.GEN_AI_INVOKE_AGENT,
964960
name=f"invoke_agent {run_name}" if run_name else "invoke_agent",
@@ -970,7 +966,6 @@ def new_invoke(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
970966
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "invoke_agent")
971967
span.set_data(SPANDATA.GEN_AI_RESPONSE_STREAMING, False)
972968

973-
tools = _get_available_tools(self)
974969
_set_tools_on_span(span, tools)
975970

976971
# Run the agent
@@ -1015,10 +1010,9 @@ def new_stream(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
10151010
if integration is None:
10161011
return f(self, *args, **kwargs)
10171012

1013+
run_name, tools = _get_request_data(self, args, kwargs)
10181014
start_span_function = get_start_span_function()
10191015

1020-
run_name = _get_run_name(self, args)
1021-
10221016
span = start_span_function(
10231017
op=OP.GEN_AI_INVOKE_AGENT,
10241018
name=f"invoke_agent {run_name}" if run_name else "invoke_agent",
@@ -1029,7 +1023,6 @@ def new_stream(self: "Any", *args: "Any", **kwargs: "Any") -> "Any":
10291023
span.set_data(SPANDATA.GEN_AI_OPERATION_NAME, "invoke_agent")
10301024
span.set_data(SPANDATA.GEN_AI_RESPONSE_STREAMING, True)
10311025

1032-
tools = _get_available_tools(self)
10331026
_set_tools_on_span(span, tools)
10341027

10351028
input = args[0].get("input") if len(args) >= 1 else None

0 commit comments

Comments
 (0)