Watch
0
0
Fork
You've already forked hyperhive
0

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:
iris 2026-11-03 16:05:30 +01:00
commit 23c2527199

View file

@ -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;
}