Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-metric/README.md
atlas acfa2a7a56 docs(readmes): fix stale facts in remaining crate READMEs + gotchas
- frontend/README.md: list the missing packages/swarm-ui package, fix
  the vanilla-JS claim (all packages depend on preact), and the
  deprecated hyperhive.frontend.extraFiles spelling
- hive-c0re/README.md: hive-c0re no longer provisions per-agent
  forge/matrix accounts (swarm-controller does); it wires gateway
  vhosts and reconciles forge/matrix config
- hive-metric/README.md: OTEL_EXPORTER_OTLP_HEADERS is never set by
  the harness and has no way to be set
- hive-agent-sock/README.md: fix the deprecated
  hyperhive.extraMcpServers spelling
- docs/process/gotchas.md: fix a dangling hive-ag3nt/ path, the real
  directory is hive-agent/

Also fixes pre-existing vale error-level alerts (passive voice,
Microsoft.Auto, Microsoft.Contractions) in the same files so
prose-lint-errors passes clean.
2026-10-02 11:40:07 +02:00

1 KiB

hive-metric

A tiny CLI that pushes a single labeled metric to the OTEL collector, then exits. Built on the OpenTelemetry Rust SDK with the OTLP HTTP/JSON exporter.

When to use it

For emitting a one-off counter or gauge from a shell script or systemd unit without embedding an OTEL SDK in the caller — the harness and various hive scripts use it to record per-agent metrics.

Usage

hive-metric <name> <value> [--type counter|gauge] [--labels key=value ...]

The SDK reads standard OTEL environment variables automatically:

  • OTEL_EXPORTER_OTLP_ENDPOINT — collector URL (required)
  • OTEL_RESOURCE_ATTRIBUTES — resource labels (k=v,...)

The harness populates both per-agent when services.hyperhive.otel.enable = true. There's no OTEL_EXPORTER_OTLP_HEADERS and no way to add one: an agent exports straight to its hive's own collector and holds no upstream credential to put there (nix/agent-modules/otel.nix). See docs/scheduler/observability.md for the collector setup and the metrics hyperhive exports.