|
Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
|
Non-atomic snapshot of work-stealing statistics. More...
#include <work_stealing_stats.h>

Public Member Functions | |
| auto | steal_success_rate () const -> double |
| auto | avg_batch_size () const -> double |
| auto | cross_node_ratio () const -> double |
| auto | avg_steal_time_ns () const -> double |
Public Attributes | |
| std::uint64_t | steal_attempts {0} |
| std::uint64_t | successful_steals {0} |
| std::uint64_t | failed_steals {0} |
| std::uint64_t | jobs_stolen {0} |
| std::uint64_t | same_node_steals {0} |
| std::uint64_t | cross_node_steals {0} |
| std::uint64_t | batch_steals {0} |
| std::uint64_t | total_batch_size {0} |
| std::uint64_t | total_steal_time_ns {0} |
| std::uint64_t | total_backoff_time_ns {0} |
Non-atomic snapshot of work-stealing statistics.
This structure provides a non-atomic copy of work_stealing_stats for safe reading without synchronization concerns.
Definition at line 27 of file work_stealing_stats.h.
|
inlinenodiscard |
Definition at line 49 of file work_stealing_stats.h.
References batch_steals, and total_batch_size.
|
inlinenodiscard |
Definition at line 68 of file work_stealing_stats.h.
References steal_attempts, and total_steal_time_ns.
|
inlinenodiscard |
Definition at line 58 of file work_stealing_stats.h.
References cross_node_steals, and same_node_steals.
|
inlinenodiscard |
Definition at line 40 of file work_stealing_stats.h.
References steal_attempts, and successful_steals.
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::batch_steals {0} |
Definition at line 35 of file work_stealing_stats.h.
Referenced by avg_batch_size(), and kcenon::thread::work_stealing_stats::snapshot().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::cross_node_steals {0} |
Definition at line 34 of file work_stealing_stats.h.
Referenced by cross_node_ratio(), and kcenon::thread::work_stealing_stats::snapshot().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::failed_steals {0} |
Definition at line 31 of file work_stealing_stats.h.
Referenced by kcenon::thread::work_stealing_stats::snapshot().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::jobs_stolen {0} |
Definition at line 32 of file work_stealing_stats.h.
Referenced by kcenon::thread::work_stealing_stats::snapshot().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::same_node_steals {0} |
Definition at line 33 of file work_stealing_stats.h.
Referenced by cross_node_ratio(), and kcenon::thread::work_stealing_stats::snapshot().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::steal_attempts {0} |
Definition at line 29 of file work_stealing_stats.h.
Referenced by avg_steal_time_ns(), kcenon::thread::work_stealing_stats::snapshot(), and steal_success_rate().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::successful_steals {0} |
Definition at line 30 of file work_stealing_stats.h.
Referenced by kcenon::thread::work_stealing_stats::snapshot(), and steal_success_rate().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::total_backoff_time_ns {0} |
Definition at line 38 of file work_stealing_stats.h.
Referenced by kcenon::thread::work_stealing_stats::snapshot().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::total_batch_size {0} |
Definition at line 36 of file work_stealing_stats.h.
Referenced by avg_batch_size(), and kcenon::thread::work_stealing_stats::snapshot().
| std::uint64_t kcenon::thread::work_stealing_stats_snapshot::total_steal_time_ns {0} |
Definition at line 37 of file work_stealing_stats.h.
Referenced by avg_steal_time_ns(), and kcenon::thread::work_stealing_stats::snapshot().