Struct CobaltPoolStatistics
- Namespace
- CobaltPdf
- Assembly
- CobaltPdf.dll
A point-in-time snapshot of the render pool's state and lifetime counters, returned by GetPoolStatistics(). Useful for health endpoints, capacity dashboards, and autoscaling signals.
The gauges (CurrentWorkers, LeasedWorkers, IdleWorkers, QueuedWaiters) are read without locking, so on a busy pool they are a close-but-not-transactional view; the cumulative counters are exact. Field-for-field identical to the CobaltPDF.WebKit edition's snapshot.
public readonly record struct CobaltPoolStatistics : IEquatable<CobaltPoolStatistics>
- Implements
- Inherited Members
Constructors
CobaltPoolStatistics(bool, int, int, int, int, int, int, int, long, long, long)
A point-in-time snapshot of the render pool's state and lifetime counters, returned by GetPoolStatistics(). Useful for health endpoints, capacity dashboards, and autoscaling signals.
The gauges (CurrentWorkers, LeasedWorkers, IdleWorkers, QueuedWaiters) are read without locking, so on a busy pool they are a close-but-not-transactional view; the cumulative counters are exact. Field-for-field identical to the CobaltPDF.WebKit edition's snapshot.
public CobaltPoolStatistics(bool Initialized, int MinSize, int MaxSize, int MaxQueueDepth, int CurrentWorkers, int LeasedWorkers, int IdleWorkers, int QueuedWaiters, long TotalRendersCompleted, long TotalRenderRetries, long TotalBusyRejections)
Parameters
InitializedboolFalse if the pool has not been created yet (no render or PreWarmAsync() has run). Every other field is 0 in that case.
MinSizeintConfigured MinSize.
MaxSizeintConfigured MaxSize (the concurrent render ceiling).
MaxQueueDepthintConfigured MaxQueueDepth (0 = unbounded).
CurrentWorkersintLive browser instances right now (idle + leased).
LeasedWorkersintBrowsers currently executing a render.
IdleWorkersintWarm browsers sitting in the pool ready to serve.
QueuedWaitersintCallers currently blocked waiting for a free slot.
TotalRendersCompletedlongRender leases processed over the pool's lifetime.
TotalRenderRetrieslongAlways 0 in this (Chromium) edition — it has no pool-level render retry. The field exists for snapshot parity with the WebKit edition (which retries transient worker failures).
TotalBusyRejectionslongRequests rejected with PoolBusyException (backpressure).
Properties
CurrentWorkers
Live browser instances right now (idle + leased).
public int CurrentWorkers { get; init; }
Property Value
IdleWorkers
Warm browsers sitting in the pool ready to serve.
public int IdleWorkers { get; init; }
Property Value
Initialized
False if the pool has not been created yet (no render or PreWarmAsync() has run). Every other field is 0 in that case.
public bool Initialized { get; init; }
Property Value
LeasedWorkers
Browsers currently executing a render.
public int LeasedWorkers { get; init; }
Property Value
MaxQueueDepth
Configured MaxQueueDepth (0 = unbounded).
public int MaxQueueDepth { get; init; }
Property Value
MaxSize
Configured MaxSize (the concurrent render ceiling).
public int MaxSize { get; init; }
Property Value
MinSize
Configured MinSize.
public int MinSize { get; init; }
Property Value
QueuedWaiters
Callers currently blocked waiting for a free slot.
public int QueuedWaiters { get; init; }
Property Value
TotalBusyRejections
Requests rejected with PoolBusyException (backpressure).
public long TotalBusyRejections { get; init; }
Property Value
TotalRenderRetries
Always 0 in this (Chromium) edition — it has no pool-level render retry. The field exists for snapshot parity with the WebKit edition (which retries transient worker failures).
public long TotalRenderRetries { get; init; }
Property Value
TotalRendersCompleted
Render leases processed over the pool's lifetime.
public long TotalRendersCompleted { get; init; }