What problem does it solve?
It converts natural-language performance questions into valid Perfetto SQL and runs them against your local trace file so you can extract the slice, thread, or memory evidence you need without hand-writing fragile queries.
Core Features & Use Cases
- Natural-language to Perfetto SQL: Drafts syntactically valid Perfetto SQL that follows query safety rules and Perfetto-specific constraints.
- Trace_processor execution & CSV output: Uses the Perfetto trace_processor wrapper to execute the query against a local trace and return results in CSV form.
- Perfetto-specific correctness guardrails: Enforces practices like idempotent
CREATE OR REPLACE, safe handling of incomplete slices (dur = -1), and safe joins using utid/upid.
Use case: you want to understand startup performance impact by extracting time spent in specific slice patterns across requests and aggregating the total duration safely even when some slices are incomplete.
Quick Start
Run the perfetto-sql skill on your Perfetto trace and ask for the slice total duration for a specific function name pattern, such as "total time spent in slices matching RenderThread."