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 Map<String, Object> traceStart()
public Map<String, Object> traceStart(String name)
public Map<String, Object> traceStart(String name, boolean screenshots, boolean maps)
Starts recording this session as a trace: from now on every call on the
device is a step, with the screen after it and the map's elements drawn
over it, until traceStop(String) saves it. Text typed into a
field is not recorded, only its length. On a real phone the screenshots
are its owner's screen; see traceStart(String, boolean, boolean)
to keep none. One trace per device, and ending the session discards it.
@return the device and whether it is tracing
Starts a trace with a title. See traceStart().
@param name the trace's title, as the viewers show it, or null for none
@return the device and whether it is tracing
Starts a trace, choosing what is kept after each call. See
traceStart(). With screenshots false no screen is kept, which
is the choice for somebody else's phone.
@param name the trace's title, as the viewers show it, or null for none
@param screenshots whether to keep the screen after each call
@param maps whether to draw the map's elements over each screenshot
@return the device and whether it is tracing
traceStop
public Map<String, Object> traceStop(String path)
Stops the trace and saves it as a zip in Vibium's record format, which player.vibium.dev opens. A relative path is this process's.
@param path where to save the trace on this machine, a .zip
@return the calls it recorded, the absolute path and its bytes
trace
public Map<String, Object> trace()
Whether a trace is running on the device, and if so for how long and over how many calls.
@return whether it is tracing, its calls so far, and the time elapsed
Examples
Start tracing the session
device.traceStart("sign in");
Stop, and save the trace
Map<String, Object> saved = device.traceStop("sign-in.zip");
System.out.println(saved.get("calls") + " " + saved.get("path"));