From 7e01a682298c56d4bf903449a27af601b1dbc28d Mon Sep 17 00:00:00 2001 From: Zoe Xiao Date: Fri, 14 Nov 2025 20:15:58 +0000 Subject: [PATCH 1/3] enhancement(smolagents): have more explicit span name --- .../src/openinference/instrumentation/smolagents/_wrappers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py b/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py index 5894237ae..a77bb0bee 100644 --- a/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py +++ b/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py @@ -110,7 +110,7 @@ def __call__( if context_api.get_value(context_api._SUPPRESS_INSTRUMENTATION_KEY): return wrapped(*args, **kwargs) - span_name = f"{instance.__class__.__name__}.run" + span_name = f"{getattr(instance, 'name', instance.__class__.__name__)}.run" agent = instance arguments = _bind_arguments(wrapped, *args, **kwargs) From d264df12e41f7f8dfd5cd67092d52b1cdb3c589c Mon Sep 17 00:00:00 2001 From: Zoe Xiao Date: Mon, 17 Nov 2025 19:26:17 +0000 Subject: [PATCH 2/3] handle case where agent name is falsy --- .../src/openinference/instrumentation/smolagents/_wrappers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py b/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py index a77bb0bee..c4ed148b1 100644 --- a/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py +++ b/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py @@ -109,9 +109,9 @@ def __call__( # Skip instrumentation if explicitly disabled if context_api.get_value(context_api._SUPPRESS_INSTRUMENTATION_KEY): return wrapped(*args, **kwargs) - - span_name = f"{getattr(instance, 'name', instance.__class__.__name__)}.run" + agent = instance + span_name = f"{getattr(agent, 'name', None) or agent.__class__.__name__}.run" arguments = _bind_arguments(wrapped, *args, **kwargs) # Start parent span for the full run From 60e7f995c90dc4c10ab87ce737fee040f2160e52 Mon Sep 17 00:00:00 2001 From: Zoe Xiao Date: Tue, 18 Nov 2025 15:28:23 +0000 Subject: [PATCH 3/3] ruff check fix --- .../src/openinference/instrumentation/smolagents/_wrappers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py b/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py index c4ed148b1..da1ff5ce8 100644 --- a/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py +++ b/python/instrumentation/openinference-instrumentation-smolagents/src/openinference/instrumentation/smolagents/_wrappers.py @@ -109,7 +109,7 @@ def __call__( # Skip instrumentation if explicitly disabled if context_api.get_value(context_api._SUPPRESS_INSTRUMENTATION_KEY): return wrapped(*args, **kwargs) - + agent = instance span_name = f"{getattr(agent, 'name', None) or agent.__class__.__name__}.run" arguments = _bind_arguments(wrapped, *args, **kwargs)