Skip to main content

TraceStart · TraceStop · Trace

This tool on every surface: CLI · MCP · Python · JavaScript · Go · Java · .NET

Record a session as a trace: start, then every call on this device is a step — before and after, the point an action touched, a failure's error — and after each the screen, with the map's elements drawn over it; stop with a path saves a zip in Vibium's record format, which player.vibium.dev opens. These call app_trace.

TraceStart​

public IDictionary<string, object?> TraceStart()
public IDictionary<string, object?> TraceStart(string name)
public IDictionary<string, object?> TraceStart(string? name, bool screenshots, bool maps)

Starts a trace of this session: from now until TraceStop, every call on the device is a step — before and after, the point an action touched, a failure's error — and after each the screen, with the map's elements drawn over it. Text typed into a field is not recorded, only its length. On a real phone the screenshots are its owner's screen. One trace per device; a second start throws, and ending the session discards it.

Returns The trace's state: device and tracing.

As TraceStart(), with name as the trace's title, as the viewers show it.

As TraceStart(), choosing what is kept after each call: screenshots false keeps no screen at all, and maps false keeps the screen without the map's elements drawn over it. A null name leaves the trace untitled. Both flags are sent, so a false is heard.

TraceStop​

public IDictionary<string, object?> TraceStop(string path)

Stops the trace and saves it at path, a .zip on this machine, in Vibium's record format, which player.vibium.dev opens. A relative path is this process's. Throws when no trace is running.

Returns The saved trace: device, calls — how many steps it holds — path and bytes.

Trace​

public IDictionary<string, object?> Trace()

Whether a trace is running on this device: device, tracing, and while one is, calls so far and elapsed.

Examples​

Start tracing the session​

device.TraceStart("sign in");

Stop, and save the trace​

var saved = device.TraceStop("sign-in.zip");
Console.WriteLine($"{saved["calls"]} {saved["path"]}");