ObjectPoolStats
Description
Holds statistics about an IObjectPool.
The string representation of this type can be used to output log messages for tracking object pool usage. It has the following structure:
CD/0:0 GP:0/0 U:0/0 UB(b):0/0 @ Name @ Size
where the individual numbers have this meaning (referring to the time interval during which the statistic values have been collected):
-
CD
: CountCreate (left), CountDelete (right)
Non-zero values indicate that the pool has under-flowed or over-flowed. -
GP
: CountGet (left), CountPut (right)
These values should be balanced. If they are not, the pool is being used improperly. -
U
: CountUsed (left), IObjectPoolBase.LimitCount (right)
This is an estimate of the overall pool usage. -
UB
: CountUsedBytes (left), IObjectPoolBase.LimitMemory (right)
This is an estimate of the overall memory consumption of the pool. The unit is given in braces and will be one of the following:b
,kb
,mb
,gb
. -
Name
: IObjectPoolBase.Name of the IObjectPoolBase object -
Size
: IMemoryConsumption.MemoryConsumption of the IObjectPoolBase object, formatted with FormattingUtil.FormatBytes.
Public / Attributes
CountCreate
Counts the number of requested objects that had to be created because the pool was empty.
This value is always less than or equal to CountGet.
CountDelete
Counts the number of returned objects that had to be deleted because of the pool limit.
This value is always less than or equal to CountPut.
CountUsed
Counts the maximum number of objects that have been in use (i.e., requested from the pool but not yet returned).
CountUsedBytes
Counts the maximum number of bytes used by the objects that have been in use (i.e., requested from the pool but not yet returned).
- See also
PoolMemoryConsumption
The object pool memory consumption, see IMemoryConsumption.MemoryConsumption.