threadman 0.1.0
Header-only C++23 managed threads, dynamic pools, futures, and executors
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations
stats.hpp File Reference

Plain value snapshots of the live state of the ThreadMan world — threads, pools, tasks, futures, plus the aggregate ManagerSummary published periodically to listeners. More...

#include <chrono>
#include <cstdint>
#include <optional>
#include <string>
#include <vector>
Include dependency graph for stats.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  threadman::ThreadSnapshot
 A point-in-time snapshot of a ManagedThread's control block. More...
 
struct  threadman::ThreadPoolStats
 A snapshot of a pool's headline counters. More...
 
struct  threadman::TaskSnapshot
 A snapshot of a single task's lifecycle. More...
 
struct  threadman::FutureSnapshot
 A snapshot of a future-state object. Useful for diagnostics. More...
 
struct  threadman::ManagerSummary
 Aggregate publish-payload produced periodically by the ThreadManager's housekeeper. More...
 
struct  threadman::StuckTaskEvent
 A single stuck-task event published to StuckTaskListeners. More...
 

Namespaces

namespace  threadman
 

Enumerations

enum class  threadman::ThreadState : std::uint8_t {
  threadman::Starting , threadman::Running , threadman::Idle , threadman::Retiring ,
  threadman::Completed , threadman::Failed
}
 Lifecycle state of a ManagedThread / pool worker. More...
 
enum class  threadman::TaskState : std::uint8_t {
  threadman::Queued , threadman::Running , threadman::Completed , threadman::Failed ,
  threadman::Cancelled
}
 Lifecycle state of a TaskHandle. More...
 
enum class  threadman::PoolState : std::uint8_t { threadman::Running , threadman::ShuttingDown , threadman::ShutdownNow , threadman::Terminated }
 Lifecycle state of a ThreadPool. More...
 

Detailed Description

Plain value snapshots of the live state of the ThreadMan world — threads, pools, tasks, futures, plus the aggregate ManagerSummary published periodically to listeners.

Every type here is copyable, relocatable, and contains no synchronization primitives so it can be safely passed across thread boundaries.