Watch
0
0
Fork
You've already forked hyperhive
0

hive-c0re: fix stale banner and gauge-name wording after review

The nix-store gauge comment claimed a semconv name it deliberately does
not use; it now says why the name is hyperhive-scoped. Two doc pages
still described the removed banner for the limits-read and
knowledge-pull failures. The warning alert's comment now says
pending_logins pages on purpose.
This commit is contained in:
iris 2026-10-21 17:58:09 +02:00
commit dad495cdfa
4 changed files with 12 additions and 5 deletions

View file

@ -66,7 +66,7 @@ pull`, so agents see the new content on their next turn.
queues a pull on a fixed cadence as a fallback (webhook missed, c0re queues a pull on a fixed cadence as a fallback (webhook missed, c0re
restarted between pushes). The pull is best-effort — a failure restarted between pushes). The pull is best-effort — a failure
shows as a failed `KnowledgePull` node on the job queue, counts toward shows as a failed `KnowledgePull` node on the job queue, counts toward
the knowledge-pull banner, and doesn't affect the rest of the daemon. the `knowledge_pull` hive warning, and doesn't affect the rest of the daemon.
Both paths, and the one pull at boot, queue the same `KnowledgePull` job Both paths, and the one pull at boot, queue the same `KnowledgePull` job
node. It holds the working tree for its duration, so two pulls never run node. It holds the working tree for its duration, so two pulls never run

View file

@ -529,8 +529,8 @@ given.
Every 30 seconds hive-c0re (`workers::swarm_limits`) reads the key of each Every 30 seconds hive-c0re (`workers::swarm_limits`) reads the key of each
agent it has and stores the result in `meta/swarm-resource-limits.json`. Each agent it has and stores the result in `meta/swarm-resource-limits.json`. Each
value passes the validators first. One bad value passes the validators first. One bad
value or a failed read leaves the file unchanged, and repeated failures raise a value or a failed read leaves the file unchanged, and repeated failures raise a hive
dashboard banner. warning (the `hyperhive.hive.warning` metric and the `hh-hive-warning` alert).
A hive's queue grant reads every key of the bucket A hive's queue grant reads every key of the bucket
(`$JS.API.DIRECT.GET.KV_agent-limits.>`) and writes none. Scoping it to the (`$JS.API.DIRECT.GET.KV_agent-limits.>`) and writes none. Scoping it to the

View file

@ -328,7 +328,11 @@ fn register_hive_instruments(meter: &opentelemetry::metrics::Meter) {
}) })
.build(); .build();
// Fraction of the nix store's filesystem in use, by the semconv name. // Fraction of the nix store's filesystem in use. A `hyperhive.` name on
// purpose, not semconv `system.filesystem.utilization`: the hive
// collector's host-metrics scraper covers the `system.filesystem.*`
// family for every mount, and a second series under one of its names
// with different labels could clash.
// Probed in the callback (a `statvfs` is cheap and this runs once an // Probed in the callback (a `statvfs` is cheap and this runs once an
// export interval); a failed probe reports no sample. // export interval); a failed probe reports no sample.
meter meter

View file

@ -1691,7 +1691,10 @@ in
# pressure is left out: it has its own thresholds below, on # pressure is left out: it has its own thresholds below, on
# the filesystem metric rather than the registry entry. # the filesystem metric rather than the registry entry.
# Sweeps raise their warning only after several misses, so # Sweeps raise their warning only after several misses, so
# `for` is short. # `for` is short. `pending_logins` pages too, on purpose:
# an agent that waits more than 2m for its claude login
# needs a human to act, which is what the banner it
# replaces was for.
(metricThresholdRule { (metricThresholdRule {
uid = "hh-hive-warning"; uid = "hh-hive-warning";
title = "hive warning raised"; title = "hive warning raised";