Skip to main content
The Throughput Gauge is a small floating instrument that shows the tokens per second your agents are moving right now. It reads In (tokens your agents read: new input and cache writes) and Out (tokens they write), averages them over a short window, and marks the highest reading since you last reset it. The gauge is an Encore Feature, off by default. It ships as the first-party Throughput Gauge plugin.

Turning it on

Open Settings -> Encore, find Throughput Gauge, and enable it. Or, from a shell:
The gauge pops up as soon as you turn it on. Turning it off removes the gauge and stops all capture. Nothing keeps listening in the background, and the readings and peak are cleared, so turning it back on starts from zero.

Showing and hiding it

Closing the card hides it. Capture keeps running while it is hidden, so the peak and the averages are current when you bring it back.

Settings

Set these from the gear on the gauge, from the settings in the Encore tile, or with maestro-cli throughput-gauge set. Picking a scope, metric, layout, or style from the command palette also shows the gauge, because changing how it looks is asking to look at it.

Styles

  • Dial: an analog speedometer with a needle. The default.
  • VU: a segmented bar meter, the look of a level meter.
  • LCD: a digital numeric readout.
  • Sparkline: a trend line of recent readings, for seeing bursts and lulls.
Every style prints the same unit, tok/s, and a legend line that names the metric it measures.

Peak and reset

The gauge keeps the highest reading per metric since the last reset, and draws it as a peak mark. To start the peak again from the current reading, use Reset peak under the gear, or run Reset Throughput Gauge Peak from the command palette. Changing the scope or the window starts the readings over, which clears the peak as well. Turning the feature off clears it too.

How the number is estimated, then corrected

Streamed text is the only signal that arrives while a turn runs, so the gauge estimates output tokens from the text as it streams. Providers report the real token counts only when a turn ends. When that report arrives, the gauge adds whatever the real count exceeds the estimate by, and never subtracts. The live number can therefore run a little low during a turn (tool calls and redacted thinking never stream as text), and it lands on the provider’s count once the turn finishes. In rare cases a provider repeats part of a reply, and the estimate can overshoot slightly. The gauge does not claw that back, so a reading never goes negative. Input comes only from the provider’s usage reports.

Cache reads are not counted as input

Tokens read count new input and cache writes. Cache reads are left out on purpose. A cache read re-reads context the provider already holds, and in a resumed session that is nearly all of the input. Counting it would pin the needle on every turn and hide the work that actually changed.

Agents whose turns do not reach the gauge

  • Group chat moderators and participants. Their output stays in the main process, so the gauge does not count it. Only agent tabs, Auto Run, and synopsis turns are counted.

CLI

Every verb answers with the gauge’s status, so a script can check what it just did. Example status --json output, with illustrative values:
rates and peak are in tokens per second. combined is always in + out.