@ none
Below low_watermark, queue is healthy.
Core threading foundation of the thread system library.
scaling_direction
Scaling direction for autoscaling decisions.
@ up
Scale up (add workers)
@ down
Scale down (remove workers)
scaling_reason
Reason for scaling decision.
@ manual
Manual trigger via API.
@ scheduled
Scheduled scaling event.
@ latency
Latency threshold exceeded.
@ worker_utilization
Worker utilization threshold exceeded.
@ queue_depth
Queue depth threshold exceeded.
Statistics for autoscaling operations.
std::size_t scale_up_count
Number of scale-up events.
std::size_t decisions_evaluated
Number of decisions evaluated.
std::chrono::steady_clock::time_point last_scale_down
Time of last scale-down event.
std::chrono::steady_clock::time_point last_scale_up
Time of last scale-up event.
std::size_t scale_down_count
Number of scale-down events.
std::size_t peak_workers
Peak worker count observed.
std::size_t min_workers
Minimum worker count observed.
std::string explanation
Human-readable explanation.
auto should_scale() const -> bool
Checks if scaling should occur.
scaling_reason reason
Reason for the decision.
scaling_direction direction
The scaling direction.
std::size_t target_workers
Target worker count after scaling.
Metrics sample for autoscaling decisions.
std::uint64_t jobs_submitted
Jobs submitted since last sample.
std::size_t worker_count
Current number of workers in the pool.
std::chrono::steady_clock::time_point timestamp
Timestamp when this sample was collected.
double queue_depth_per_worker
Jobs per worker ratio.
std::uint64_t jobs_completed
Jobs completed since last sample.
std::size_t queue_depth
Number of jobs waiting in the queue.
double p95_latency_ms
P95 latency in milliseconds.
double throughput_per_second
Throughput in jobs per second.
std::size_t active_workers
Number of workers currently processing jobs.
double utilization
Worker utilization ratio (0.0 - 1.0)