sootsim perf

sootsim perf

One profiling group for sampled JS CPU profiles, React render-cost tables, shell and compositor frame timing, and timestamp-aligned scroll offsets from the tenant, shell, and compositor workers.

terminal

sootsim perf cpu [options]
sootsim perf react <profile|summary|slow|rerenders|tree|why> [options]
sootsim perf shell <start|stop|transition> [options]
sootsim perf scroll <start|stop> [options]

Options

flagdescription
--cdp-port <port>for perf cpu: Chrome DevTools port (default: $SOOTSIM_CDP_PORT or 9222)
--duration <seconds>for perf cpu: recording duration (default: 5)
--match <substring>for perf cpu: pick the page target by URL substring
--output <path>for perf cpu: output .cpuprofile path
--include-propsfor perf react profile start: record shallow prop previews
--limit <n>for perf react: rows; for perf scroll: samples per layer
--jsonstructured output where supported
--sim <sim>target a specific connected sim

Examples

terminal

sootsim open 8089 --new --driver playwright --cdp-port 9222
sootsim perf cpu --cdp-port 9222 --duration 5
sootsim perf react profile start
sootsim perf react summary --limit 10
sootsim perf shell start
sootsim perf shell stop --json
sootsim perf scroll start
sootsim perf scroll stop --json

Profiling Surfaces

perf cpu captures sampled JavaScript CPU profiles through CDP. Open the sim with a CDP port first:

terminal

sootsim open 8081 --new --driver playwright --cdp-port 9222
sootsim perf cpu --cdp-port 9222 --duration 5

perf react reads React render cost from the tenant worker. perf shell records shell and compositor frame timing. perf scroll records timestamp-aligned per-frame offsets from the tenant, shell, and compositor workers while it is armed; use --json on stop for the complete series.

Ready to build?

Run your React Native app in the browser. No simulators, no native toolchain, no waiting.

curl -fsSL https://sootsim.com/install.sh | sh