Talos docs

GET /ui/stats

Since 0.7

The UI's cost on the last frame (time, draw calls, quads, texts) and, per screen, layout passes and what last dirtied layout.

Plain text

Not an exact read: it describes the latest frame, like GET /perf, and ?at= has no state to pin it to.

Response

Response: UiStatsView

GET /ui/stats — what the game UI cost on the last frame, and why layout last ran.

FieldTypePresentDescription
frameintegeralwaysThe frame these numbers describe.
ui_msnumberalwaysWall time of the UI's tick and draw-list mapping, in milliseconds.
draw_callsintegeralwaysDraw calls the UI pass issued: quad rounds plus text rounds.
batchesintegeralwaysQuad rounds. A new round starts only where a quad covers text below it.
quadsintegeralwaysQuad instances handed to the renderer.
textsintegeralwaysText runs handed to the renderer.
screensUiScreenStatsView[]sometimesThe screens on the stack, bottom first.

Response: UiScreenStatsView

One screen's layout readout in UiStatsView.

FieldTypePresentDescription
namestringalwaysThe screen.
nodesintegeralwaysNodes in the screen's tree.
layout_passesintegeralwaysLayout passes the screen has run since it was pushed. Two reads a second apart on a steady screen give the same number; a number climbing by the frame rate is layout every frame.
last_layout_causestringsometimesWhat dirtied layout for the last pass: styles, binding, text, transition, direction or other.
last_layout_nodestringsometimesThe node that caused it, when one node is known (hud:timer).

Example

curl "http://127.0.0.1:7700/ui/stats"

Start a server with argus run --serve; the port is --port (7700 by default). The request and response fields are in the query API guide.