Skip to content

v0.14.0

Choose a tag to compare

@jmuehlig jmuehlig released this 29 Apr 07:06
· 103 commits to dev since this release
  • Deprecation Warnings Activated: All legacy .h forwarding headers (e.g., perfcpp/sampler.h, perfcpp/event_counter.h) now emit a compile-time #pragma message warning directing users to the .hpp replacements introduced in v0.13.0. The old headers will be removed in v1.0. If you see a deprecation message, replace the include with the .hpp variant (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, a SharedFileDescriptor, or a UniqueFileDescriptor) and pass it to Config::cgroup(). Requires a specific CPU core (CpuCore::Any is rejected) and CAP_PERFMON or perf_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_rate limit.
  • 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, and watts-ram metrics.
  • Bugfixes:
    • perf::CpuCore now accepts std::uint16_t as a CPU core id
    • Fixed multiple event codes in the event library across AMD Zen5 and Intel Panther Lake