Skip to main content

trace_start · trace_stop · 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.

trace_start​

def trace_start(name: str | None=None, screenshots: bool | None=None, maps: bool | None=None) -> dict

Start recording the session as a trace. Until trace_stop, every call on the device is a step, with the screen after it and the map's elements drawn over it.

name is the trace's title. screenshots and maps default to true. Text typed into a field is not recorded, only its length. On a real phone the screenshots are its owner's screen; screenshots=False keeps none. One trace per device; ending the session discards it.

trace_stop​

def trace_stop(path: str) -> dict

Stop the trace and save it to path: a zip in Vibium's record format, which player.vibium.dev opens. mobium pipe makes a relative path absolute. Returns calls, path and bytes.

trace​

def trace() -> dict

Whether a trace is running: tracing, and calls and elapsed when one is.

Examples​

Start tracing the session​

device.trace_start(name="sign in")

Stop, and save the trace​

saved = device.trace_stop("sign-in.zip")
print(saved["calls"], saved["path"])