Media

Money

Dispatch

Company

WAVE · Metrics

Every signal in one buffer. Every org, one ring.

Metrics is the sample sink on WAVE, media infrastructure for the agentic internet. Send Prometheus remote-write or plain JSON from any namespace or edge, and read it back as standard exposition. One endpoint, one ring buffer per organization, no per-source configuration.

the round tripverbatim, 2026-09-03

POST /v1/metrics/ingest

[{"name": "wave_call_latency_ms",
  "labels": {"spoke": "captions",
            "edge": "iad"},
  "value": 41, "ts": 1788480000000},
 ... 25 samples ]

{"ingested":25}

GET /v1/metrics/read

wave_call_latency_ms{edge="iad",
  spoke="captions"} 41 1788480000000
wave_call_latency_ms{edge="cdg",
  spoke="captions"} 58 1788480000000
wave_calls_total{spoke="captions"}
  1284 1788480000000
... 28 lines, Prometheus text
0 20 40 60 80 t0t0 + 11 min ms
edge=iadedge=cdgwave_call_latency_ms · spoke=captions

The chart is the read, not a mock. Those are the exact values the sink accepted and handed back, plotted against a labelled axis, because a line with no scale proves nothing.

10,000samples held per organization in the ring
2 verbsone to write, one to read, both over HTTP
401what the sink returns without a gateway identity

Remote-write receiver

Namespace instances, Prometheus agents, and edge workers write to a single sink. The spoke validates each sample, scopes it to the calling organization, and buffers it. Nothing to configure per source, and no second format to learn: what goes in as remote-write comes out as text exposition.

ingestPOST /v1/metrics/ingest JSON samples or Prometheus text or remote-write
readGET /v1/metrics/read Prometheus text exposition
healthGET /v1/metrics/health open, no key
authAuthorization: Bearer <key> through the gateway
prometheusremote-writeobservabilityedge

Fail-closed at the door

The sink trusts one thing: the organization identity the gateway injects. Reach it without that and it refuses, so a leaked URL is not a leaked buffer. The refusal is public and you can read it right now.

$ curl -s -o /dev/null -w '%{http_code}' https://metrics.wave.online/v1/metrics/read
401     body: "unauthorized", naming the gateway identity header (abridged)

$ curl -s https://metrics.wave.online/v1/metrics/health
{"ok":true,"failClosed":true,"db":true}

One buffer, many consumers

Metrics is a plane on WAVE. The same gateway that authenticates and meters every other WAVE call scopes samples to an organization, so dashboards, alerts, and agents read one authoritative stream instead of three copies. Auth, entitlement, and metering run through api.wave.online; this spoke owns the buffer and the exposition format.

Get an API key Read the docs