Talos docs

GET /trace

Since 0.6

The body is the frozen Vec<FrameDelta>.

Plain text

What the delta budget left out is reported in x-argus-trace-truncated, and the page's span in x-argus-trace-range, so a client can page backwards with ?before= without the body shape changing.

Request

Query parameters

ParameterShapeMeaning
framesintegerhow many frames to return, newest last. Default 60, maximum 300.
beforeintegeronly frames strictly older than this, for paging backwards

Response

Response: array of FrameDelta

What changed on one frame.

FieldTypePresentDescription
frameintegeralwaysThe frame this delta describes.
keyframebooleanalwaysTrue when transforms lists every non-static entity rather than only the dirty ones. True exactly when frame % 60 == 0.
transformsTransformDelta[]alwaysEntities whose transform changed this frame (every entity on a keyframe).
eventsEventRecord[]alwaysEvents that fired on this frame, in order.

Response: EventRecord

One frame-stamped thing that happened.

FieldTypePresentDescription
seqintegeralwaysMonotonic per-process sequence number. Strictly increasing, no gaps.
frameintegeralwaysThe frame the event fired on.
timenumberalwaysSimulated seconds since the scene loaded.
kindEventKindalwaysWhat happened.

Response: EventKind

The payload of an EventRecord, tagged by type on the wire.

ValueMeaning
collisionTwo colliders started or stopped touching. Mirrors argus_host::GameEvent::Collision.
triggerA sensor volume was entered or left. Mirrors argus_host::GameEvent::Trigger.
customctx.events.emit(name, data) from a behavior, or ctx.events.emitTo(to, name, data).
script_errorA behavior threw, ran away or blew its per-tick budget and was disabled — or, with disabled false, keeps running: it threw a stale handle (entity-despawned) from a per-tick hook, or its update stayed over its wall-clock budget (phase budget) under the host's default OverrunPolicy::Warn.
script_warningA behavior did something the engine let pass but its author almost certainly did not mean. The behavior keeps running; nothing is disabled.
uiThe game UI's stack, focus or an activation changed.
logctx.log(...) from a behavior.

Response: TransformDelta

One entity's transform at one frame.

FieldTypePresentDescription
idstringalwaysThe entity's stable scene id.
positionnumber[3]alwaysWorld-space position, [x, y, z].
rotationnumber[4]sometimesWorld-space rotation as a quaternion, [x, y, z, w]. Present when it changed since this entity's last delta, and on every keyframe.
scalenumber[3]sometimesLocal scale, present only on the frames it changed, and on every keyframe.

Example

curl "http://127.0.0.1:7700/trace"

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.