v0.12.0
This release expands symbolic analysis capabilities, introduces FlameGraph generation, and improves hardware event management through both runtime and compile-time support.
- Symbol Resolution: Instruction pointers captured during sampling can now be resolved to function names using
perf::SymbolResolver(see the documentation). - FlameGraph Export: Sampling data can be converted into formats compatible with visualization tools such as Brendan Gregg's FlameGraph, Speedscope, and flamegraph.com using
perf::analyzer::FlameGraphGenerator(see the documentation). - Built-in Event Definitions: A set of
x86-specific hardware events is now bundled in events/x86 and can be loaded at runtime usingperf::CounterDefinition. This serves as an alternative to themake perf-listtarget. - Compile-time Event Injection: Processor-specific event definitions can now be embedded directly at build time by configuring CMake with
-DGEN_PROCESSOR_EVENTS=1. These are immediately available viaperf::CounterDefinition(see the documentation). - Automatic Event Discovery: Additional event types–including RAPL energy counters and AMD IO MMU events–are now automatically detected during the creation of a
perf::CounterDefinitioninstance (issue #6).