7#include <guanaqo/export.h>
58GUANAQO_EXPORT std::unique_ptr<detail::ScopedCounters>
start_counters();
71 std::unique_ptr<detail::ScopedCounters>
impl;
uint64_t bad_speculation_slots
uint64_t backend_bound_slots
uint64_t frontend_bound_slots
void disable_counters()
Disables performance counters globally. Blocks until all active counters have stopped.
ScopedCounters(F &&) -> ScopedCounters< F >
std::unique_ptr< detail::ScopedCounters > start_counters()
May return null if PCM is not available.
void enable_counters()
Enables performance counters globally.
Pins the thread to the current CPU and records a snapshot of performance events.
ScopedCounters(const ScopedCounters &)=delete
std::unique_ptr< detail::ScopedCounters > impl
ThreadPerfCounters * get()
ScopedCounters & operator=(const ScopedCounters &)=delete
virtual ThreadPerfCounters & stop()=0
virtual ~ScopedCounters()=default
virtual ThreadPerfCounters & get()=0