devtools_performance {action: "vitals"} for metrics exposed by their page APIs; Chrome traces, V8 profiling and Lighthouse return explicit unsupported errors. See Firefox and Zen coverage.
Pass the intended tab’s tabId when several browsers are available. Artifacts land in ~/.browspark/artifacts (or BROWSPARK_ARTIFACTS); traces and profiles use Chrome’s own formats, and Lighthouse reports use HTML and JSON.
Traces
stop saves a .json trace (DevTools Performance panel, Perfetto) and returns a summary: time by category, long tasks with their heaviest children, script time by URL, observed LCP, FCP and CLS, and user timings. search finds events by name or argument, compare diffs two recordings, vitals reads live Web Vitals observed in the page since the session started (LCP, CLS, INP, FID, FCP, TTFB, long tasks), and metrics returns Chrome runtime metrics.
Traces are browser-wide within the selected Chromium instance; activity from its other tabs can appear in the raw file. The summary is filtered to the target tab where possible.
CPU profiles
devtools_profile start / stop records a sampling profile (.cpuprofile). stop and analyze return the most expensive functions by self time (bottom-up) and the hot paths (call tree).
Memory
Chrome does not expose the heap profiler to extensions. A typical leak hunt:
growth in your own tab to confirm the symptom, then launch the developer browser, reproduce, and use snapshot → compare → retainers.
Coverage
devtools_coverage start (optionally reload: true) then stop reports used and unused bytes per JavaScript and CSS file. detail lists the unused ranges of one file with line numbers and snippets.
Lighthouse
tabId from the intended context to choose the browser explicitly.