perf-cpp v0.14.1 Release Notes
Release Date: 2026-05-12 // about 1 month ago-
v0.14.1
- 🛠 Bugfix :
UniqueFileDescriptor::reset()did not close the underlying file descriptor (see issue #12 – thanks to @ilyapopov).
- 🛠 Bugfix :
Previous changes from v0.14.0
-
- 🗄 Deprecation Warnings Activated : All legacy
.hforwarding headers (e.g.,perfcpp/sampler.h,perfcpp/event_counter.h) now emit a compile-time#pragma messagewarning directing users to the.hppreplacements introduced inv0.13.0. The old headers will be removed inv1.0. If you see a deprecation message, replace the include with the.hppvariant (e.g.,#include <perfcpp/sampler.hpp>). - CGroup Monitoring : Added support for monitoring all tasks belonging to a cgroup (container). Configure a
perf::CGroupMonitor(constructed from a path, a cgroup name, aSharedFileDescriptor, or aUniqueFileDescriptor) and pass it toConfig::cgroup(). Requires a specific CPU core (CpuCore::Anyis rejected) andCAP_PERFMONorperf_event_paranoid <= 0. See the recording documentation. - Sampler Input Validation : Opening a sampler with an invalid period or frequency now raises an exception immediately. Period must be greater than zero; frequency must be between 1 and the kernel's
perf_event_max_sample_ratelimit. - RAPL Energy Measurement Example : Added an example program demonstrating how to measure energy consumption of a code segment using the built-in
watts-pkg,watts-cores, andwatts-rammetrics. - 🛠 Bugfixes :
perf::CpuCorenow acceptsstd::uint16_tas a CPU core id- Fixed multiple event codes in the event library across AMD Zen5 and Intel Panther Lake
- 🗄 Deprecation Warnings Activated : All legacy