You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Agent workloads are opaque without per-call telemetry: which model, how many tokens, what did the turn cost, which tool failed. The framework already ships OTel tracing (W3C traceparent across actor hops and cluster links) and a Prometheus exporter — the agents module wires into both, following the OpenTelemetry GenAI semantic conventions.
Scope
Spans via the existing tracing extension: agent.turn ⊃ chat <model> (gen_ai.* attributes: system, request.model, usage input/output tokens, finish reason) ⊃ execute_tool <name> (tool name, call id); the trace carrier flows through ToolInvoke (cluster-compatible).
Prometheus metrics via MetricsExtension: agent_tokens_total{direction,model}, agent_cost_usd_total{model}, agent_tool_calls_total{tool,outcome}, agent_model_latency_ms, agent_turn_iterations, agent_sessions_active.
Cost derived from a config-driven price table (actor-ts.agents.pricing.*) — never hardcoded.
Part of the agents epic #421.
Rationale
Agent workloads are opaque without per-call telemetry: which model, how many tokens, what did the turn cost, which tool failed. The framework already ships OTel tracing (W3C traceparent across actor hops and cluster links) and a Prometheus exporter — the agents module wires into both, following the OpenTelemetry GenAI semantic conventions.
Scope
agent.turn⊃chat <model>(gen_ai.* attributes: system, request.model, usage input/output tokens, finish reason) ⊃execute_tool <name>(tool name, call id); the trace carrier flows throughToolInvoke(cluster-compatible).agent_tokens_total{direction,model},agent_cost_usd_total{model},agent_tool_calls_total{tool,outcome},agent_model_latency_ms,agent_turn_iterations,agent_sessions_active.actor-ts.agents.pricing.*) — never hardcoded.Documentation
"Observability for agents" docs page (EN + DE); JSDoc; CHANGELOG.
Acceptance
Relates
Epic #421; #131 (cardinality), #196 (histograms). Depends on the ChatModel/ToolRegistry/AgentActor issues.