116 [[nodiscard]] static
bool is_global_enabled() noexcept;
125 void begin() noexcept;
146 [[nodiscard]]
double get() const noexcept;
157 double restart() noexcept;
160 alignas(64) std::atomic<uint64_t> total_active_{0};
Tracks active CPU time as a percentage of wall-clock time using a SpinLock guard.
Definition: cpu_profiler.h:95
CpuProfiler() noexcept
Constructs a profiler with zeroed accumulators and no active interval.
Atomic high-resolution timer with selectable clock source and unit.
Definition: elapsed_timer.h:95
@ kNano
Nanosecond precision.
Definition: elapsed_timer.h:111
@ kCpuTimestamp
Monotonic wall clock (steady_clock for instance timing).
Definition: elapsed_timer.h:101
@ kCpuActiveTime
Process CPU time (user + kernel via getrusage / GetProcessTimes).
Definition: elapsed_timer.h:102
Lowest-level elapsed-time primitive used by deadline tracking, profilers and task metrics.
Cross-platform macros for visibility, branch hints, copy prevention, singletons and string helpers.
#define VLINK_EXPORT
Definition: macros.h:81
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
Definition: macros.h:174
constexpr std::string_view get() noexcept
Returns the trimmed compile-time identifier for TypeT.
Definition: name_detector.h:603
Cache-line aligned adaptive spin lock with exponential back-off.