The traffic screen

The console has always shown what is configured. This screen shows what was actually served, which is the half somebody needs when they are on call: a route that is failing and a route nobody calls look identical in a configuration.

It lives at /data-plane/metrics on the control plane, under Data plane, Metrics, and it needs root or the gateway-admin capability.

The traffic screen

What it shows

The same screen, scrolled to the per-route ranking

It is fed by the live channel rather than polled: the gateway pushes each interval as it is measured.

The unit of an endpoint is a template

An endpoint is GET /orders/{id}, never GET /orders/1042. Counting raw paths would be one series per order, kept for the life of the process, and chosen by whoever sends the requests - a loop over curl would take the gateway down through its own instrument.

A template comes from one of two places, and the screen says which:

Deduction is bounded twice: by the fold, and by a budget of two hundred templates per route, everything past it sharing a single bucket.

What it does not show

Retention

One hour, in memory, as a ring. A restart starts a new hour and nothing is written down. Endpoints keep their own coarser history: one point a minute, seventy minutes of it, written only when something actually happened - so an endpoint nobody calls costs nothing at all.

In a cluster

The curves are summed over every node, and the screen says how many nodes the interval covers.

The difference is taken per node and the differences are then added, never the other way round. Summing totals first and differencing the sum looks equivalent and is not: the moment a node leaves - a rolling update, a crash - the sum falls by everything that node had ever counted, and the drop reads as a spike of the survivors' whole history landing in five seconds.

An endpoint is counted on the node that answered it.