perfetto-sql

Convert natural language requests into Perfetto SQL queries for trace analysis.

Updated May 5, 2023
One-click install
npx skills add https://github.com/uyelikanil/AwesomeSunsetWallpapers --skill perfetto-sql-uyelikanil
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: perfetto-sql
Source: https://github.com/uyelikanil/AwesomeSunsetWallpapers/tree/main/.agents/skills/perfetto-sql
Command: npx skills add https://github.com/uyelikanil/AwesomeSunsetWallpapers --skill perfetto-sql-uyelikanil

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill bridges the gap between complex performance trace data and actionable insights by translating natural language questions into precise Perfetto SQL queries.

Core Features & Use Cases

  • Automated Query Generation: Converts intent-based requests into syntactically correct SQL for trace analysis.
  • Standard Library Integration: Leverages Perfetto's standard library modules for robust performance metrics like CPU frequency, thread scheduling, and app startup times.
  • Use Case: Quickly identify the root cause of UI jank by querying thread states and slice durations across a system trace without manually writing complex join logic.

Quick Start

Use the perfetto-sql skill to analyze the provided trace file and calculate the total duration of all slices matching the RenderThread pattern.

Frequently Asked Questions about perfetto-sql

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I translate natural language into Perfetto SQL for trace analysis?

Translating natural language into Perfetto SQL involves converting intent-based questions into syntactically valid queries for the trace_processor engine. This allows you to extract slice, thread, and memory performance data from local trace files without writing complex join logic manually.

Can I analyze Android app startup times and CPU frequency using Perfetto standard library modules?

Yes, you can analyze Android app startup times and CPU frequency by leveraging Perfetto's standard library modules. The generated queries utilize these modules to extract robust performance metrics directly from your system trace data.

What's the best way to identify UI jank causes in an Android system trace?

To identify UI jank causes in an Android system trace, you can query thread states and slice durations matching specific patterns like RenderThread. This isolates the exact scheduling delays and execution durations causing the performance issues.

Does Perfetto SQL support idempotent query execution for local trace files?

Yes, Perfetto SQL supports idempotent query execution against local trace files. This ensures that running the same generated queries repeatedly yields consistent results without side effects during your performance data extraction.

How do I extract thread scheduling and memory performance data without writing complex SQL joins?

You can extract thread scheduling and memory performance data by stating your data intent in natural language. The system handles the schema-aware analysis and generates the necessary complex SQL join logic automatically.

When do I need schema-aware analysis for Perfetto trace files?

You need schema-aware analysis for Perfetto trace files when extracting specific performance metrics like CPU frequency or app startup times. It ensures the generated SQL accurately targets the trace_processor engine's available tables and columns.