diff --git a/pkg/a2a/adapter.go b/pkg/a2a/adapter.go index fc892f605..18e91f098 100644 --- a/pkg/a2a/adapter.go +++ b/pkg/a2a/adapter.go @@ -7,6 +7,7 @@ import ( "log/slog" "strings" + "go.opentelemetry.io/otel" "google.golang.org/adk/agent" "google.golang.org/adk/model" adksession "google.golang.org/adk/session" @@ -56,6 +57,7 @@ func runDockerAgent(ctx agent.InvocationContext, t *team.Team, agentName string, // Create runtime rt, err := runtime.New(t, runtime.WithCurrentAgent(agentName), + runtime.WithTracer(otel.Tracer("cagent")), ) if err != nil { yield(nil, fmt.Errorf("failed to create runtime: %w", err)) diff --git a/pkg/mcp/server.go b/pkg/mcp/server.go index 84d48d5ec..0b11fb5df 100644 --- a/pkg/mcp/server.go +++ b/pkg/mcp/server.go @@ -11,6 +11,7 @@ import ( "slices" "github.com/modelcontextprotocol/go-sdk/mcp" + "go.opentelemetry.io/otel" "github.com/docker/docker-agent/pkg/agent" "github.com/docker/docker-agent/pkg/config" @@ -169,6 +170,7 @@ func CreateToolHandler(t *team.Team, agentName string) func(context.Context, *mc rt, err := runtime.New(t, runtime.WithCurrentAgent(agentName), + runtime.WithTracer(otel.Tracer("cagent")), ) if err != nil { return nil, ToolOutput{}, fmt.Errorf("failed to create runtime: %w", err) diff --git a/pkg/server/session_manager.go b/pkg/server/session_manager.go index 594e44ca3..d90fabb07 100644 --- a/pkg/server/session_manager.go +++ b/pkg/server/session_manager.go @@ -11,6 +11,8 @@ import ( "sync" "time" + "go.opentelemetry.io/otel" + "github.com/docker/docker-agent/pkg/api" "github.com/docker/docker-agent/pkg/concurrent" "github.com/docker/docker-agent/pkg/config" @@ -418,6 +420,7 @@ func (sm *SessionManager) runtimeForSession(ctx context.Context, sess *session.S runtime.WithCurrentAgent(currentAgent), runtime.WithManagedOAuth(false), runtime.WithSessionStore(sm.sessionStore), + runtime.WithTracer(otel.Tracer("cagent")), } run, err := runtime.New(t, opts...) if err != nil {