tracing-compilation-events

Analyze Truffle compilation events to diagnose tiering and bailouts.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Logs every compilation event with timing, tier levels, success/failure status, and invalidation reasons to help developers understand and optimize Truffle compilation behavior.

Core Features & Use Cases

  • Trace timing and tier transitions: see when and how often functions compile across tier1 and tier2.
  • Diagnose failures and bailouts: identify reasons for compilation failures and invalidations.
  • Track recompilation cycles: observe how often code is recompiled during benchmarks.
  • Contextual analysis: combine with detecting-performance-warnings to root-cause issues.

Quick Start

Run the launcher with --experimental-options and --engine.TraceCompilation to start collecting compilation events.

Frequently Asked Questions about tracing-compilation-events

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

FAQPage Schema
How do I trace Truffle compilation events to diagnose tiering and bailouts?

To trace Truffle compilation events, run the launcher with --experimental-options and --engine.TraceCompilation. This logs timing, tier levels, success/failure status, and invalidation reasons to diagnose tiering and bailouts.

What causes deoptimization and compilation failures in GraalVM runtime profiling?

Deoptimization and compilation failures in GraalVM runtime profiling are caused by invalidations and bailouts. Tracing compilation events logs these specific reasons, helping you identify why hot code failed to compile or was invalidated.

Can I track how often code is recompiled across tier1 and tier2 during benchmarks?

You can track code recompilation cycles across tier1 and tier2 during benchmarks by tracing compilation events. This records timing and tier transitions, showing how frequently functions recompile under benchmark workloads.

Does tracing compilation timing require any specific environment setup or dependencies?

Tracing compilation timing requires no additional dependencies, but needs the Truffle/GraalVM runtime environment. You must enable data collection by starting the launcher with --experimental-options and --engine.TraceCompilation.

What is the best way to root-cause performance warnings related to Truffle compilation?

The best way to root-cause performance warnings related to Truffle compilation is to combine compilation event tracing with detecting-performance-warnings. This contextual analysis links timing, failures, and invalidation reasons to broader performance issues.