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"])