Table of Contents

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

Initialized bool

False if the pool has not been created yet (no render or PreWarmAsync() has run). Every other field is 0 in that case.

MinSize int

Configured MinSize.

MaxSize int

Configured MaxSize (the concurrent render ceiling).

MaxQueueDepth int

Configured MaxQueueDepth (0 = unbounded).

CurrentWorkers int

Live browser instances right now (idle + leased).

LeasedWorkers int

Browsers currently executing a render.

IdleWorkers int

Warm browsers sitting in the pool ready to serve.

QueuedWaiters int

Callers currently blocked waiting for a free slot.

TotalRendersCompleted long

Render leases processed over the pool's lifetime.

TotalRenderRetries long

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).

TotalBusyRejections long

Requests rejected with PoolBusyException (backpressure).

Properties

CurrentWorkers

Live browser instances right now (idle + leased).

public int CurrentWorkers { get; init; }

Property Value

int

IdleWorkers

Warm browsers sitting in the pool ready to serve.

public int IdleWorkers { get; init; }

Property Value

int

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

bool

LeasedWorkers

Browsers currently executing a render.

public int LeasedWorkers { get; init; }

Property Value

int

MaxQueueDepth

Configured MaxQueueDepth (0 = unbounded).

public int MaxQueueDepth { get; init; }

Property Value

int

MaxSize

Configured MaxSize (the concurrent render ceiling).

public int MaxSize { get; init; }

Property Value

int

MinSize

Configured MinSize.

public int MinSize { get; init; }

Property Value

int

QueuedWaiters

Callers currently blocked waiting for a free slot.

public int QueuedWaiters { get; init; }

Property Value

int

TotalBusyRejections

Requests rejected with PoolBusyException (backpressure).

public long TotalBusyRejections { get; init; }

Property Value

long

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

long

TotalRendersCompleted

Render leases processed over the pool's lifetime.

public long TotalRendersCompleted { get; init; }

Property Value

long