profiling-with-cpu-sampler

Profile Truffle-based programs with a time-based CPU sampler and generate flame graphs.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/antonykamp/cc-truffle-performance-plugin --skill profiling-with-cpu-sampler
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: profiling-with-cpu-sampler
Source: https://github.com/antonykamp/cc-truffle-performance-plugin/tree/main/skills/profiling-with-cpu-sampler
Command: npx skills add https://github.com/antonykamp/cc-truffle-performance-plugin --skill profiling-with-cpu-sampler

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Time-based CPU sampling helps developers quickly identify where a program spends wall-clock time, revealing hotspots and time distribution across interpreter and compiled tiers.

Core Features & Use Cases

  • Time-based profiling to locate time hotspots and tier distribution (T0/T1/T2)
  • Flame-graph visualization to understand call paths and time allocation
  • Quick verification for long-running benchmarks and debugging performance regressions
  • Optional control of warmup skip and tier display to tailor analysis for steady-state runs

Quick Start

Run the CPU sampler on your program to begin collecting samples and view the tier breakdown.

Frequently Asked Questions about profiling-with-cpu-sampler

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

FAQPage Schema
How does CPU sampling locate time hotspots in Truffle-based programs?

Flame graphs visualize call paths and time allocation by mapping sampled CPU stack traces, allowing you to quickly identify hot functions and understand time distribution across interpreter and compiled tiers.

How do I verify interpreter vs compiled tier distribution during performance profiling?

You can verify tier distribution by checking the visible T0/T1/T2 tier breakdown metrics in the sampler output, which requires enabling tier display to analyze time spent in interpreter versus compiled code.

Can I control warmup delay when running long-running benchmarks for profiling?

Yes, you can apply optional warmup skip controls to tailor analysis for steady-state runs, allowing the CPU sampler to ignore initial warmup phases and focus on long-running benchmark performance.

What is the best way to debug performance regressions in GraalVM applications?

Time-based CPU sampling is an effective way to debug performance regressions, as it quickly locates hot functions and verifies execution time distribution across Truffle tiers in GraalVM applications.