harness metrics for tool calls, bash commands, reminders and first-turn context, on the agents board
The per-agent /stats page read these from its sqlite; the swarm board had none of them. hive-agent now counts the tools a turn called, the commands bash tasks ran (from the bash daemon's own table, newer rows only), reminders scheduled and delivered, and records the first turn of a fresh session; the turns tab shows them, with fresh sessions per agent. Claude's own export has no tool-call counter, so the docs no longer say it does.
This commit is contained in:
parent
5f9629dfc7
commit
23c2527199
1 changed files with 618 additions and 28 deletions
|
|
@ -503,8 +503,8 @@ let
|
|||
&& (lib.head xf).spec.options.byField == "agent";
|
||||
}
|
||||
{
|
||||
# The agents board's turns tab reads the turn count and duration the harness
|
||||
# records, grouped by the labels it sets on them. A renamed instrument or
|
||||
# The agents board's turns tab reads the turn, tool, bash command, reminder
|
||||
# and session metrics the harness records, grouped by the labels it sets on them. A renamed instrument or
|
||||
# label there is a tab of empty panels, so each must still be spelled in the
|
||||
# harness; and the duration percentiles are only right while the histogram
|
||||
# has bounds past the SDK's 10 s default ceiling.
|
||||
|
|
@ -520,19 +520,32 @@ let
|
|||
recorded = builtins.readFile ../../hive-agent/src/otel_turn_metrics.rs;
|
||||
in
|
||||
tab != null
|
||||
&& lib.length names == 9
|
||||
&& lib.length names == 14
|
||||
&& lib.all (m: lib.hasInfix "\"${m}\"" recorded) [
|
||||
"hyperhive.agent.turn.count"
|
||||
"hyperhive.agent.turn.duration"
|
||||
"hyperhive.agent.session.count"
|
||||
"hyperhive.agent.tool.calls"
|
||||
"hyperhive.agent.bash.commands"
|
||||
"hyperhive.agent.reminders"
|
||||
"hyperhive.agent.first_turn.context"
|
||||
"wake_from"
|
||||
"result_kind"
|
||||
"model"
|
||||
"tool"
|
||||
"command"
|
||||
"event"
|
||||
]
|
||||
&& lib.all (l: lib.any (e: lib.hasInfix l e) exprs) [
|
||||
"wake_from"
|
||||
"result_kind"
|
||||
"by (model)"
|
||||
"turn.duration_bucket"
|
||||
"by (tool)"
|
||||
"by (command)"
|
||||
"by (event)"
|
||||
"first_turn.context"
|
||||
"session.count"
|
||||
]
|
||||
&& lib.hasInfix "with_boundaries(TURN_DURATION_BOUNDS_MS" recorded;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue