public interface PoolMetricsRecorder
Pool
to collect instrumentation data.
Some methods are pool-implementation specific.
Note this doesn't include the concepts of measuring timings, which should be the
responsibility of a Clock
.
Modifier and Type | Method and Description |
---|---|
void |
recordAllocationFailureAndLatency(long latencyMs)
Record a latency for failed allocation.
|
void |
recordAllocationSuccessAndLatency(long latencyMs)
Record a latency for successful allocation.
|
void |
recordDestroyLatency(long latencyMs)
Record a latency for destroying a resource.
|
void |
recordFastPath()
Record the fact that a
Pool has a fast path of recycling and just used it. |
void |
recordIdleTime(long millisecondsIdle)
Record the number of milliseconds an object had been idle when it gets pulled from the pool and passed to a borrower.
|
void |
recordLifetimeDuration(long millisecondsSinceAllocation)
Record the number of milliseconds a pooled object has been live (ie time between allocation and destruction).
|
default void |
recordPendingFailureAndLatency(long latencyMs)
Record a latency for failed pending acquire.
|
default void |
recordPendingSuccessAndLatency(long latencyMs)
Record a latency for successful pending acquire operation.
|
void |
recordRecycled()
Record the fact that a resource was recycled, ie it was reset and tested for reuse.
|
void |
recordResetLatency(long latencyMs)
Record a latency for resetting a resource to a reusable state.
|
void |
recordSlowPath()
Record the fact that a
Pool has a slow path of recycling and just used it. |
void recordAllocationSuccessAndLatency(long latencyMs)
latencyMs
- the latency in millisecondsvoid recordAllocationFailureAndLatency(long latencyMs)
latencyMs
- the latency in millisecondsvoid recordResetLatency(long latencyMs)
latencyMs
- the latency in millisecondsvoid recordDestroyLatency(long latencyMs)
latencyMs
- the latency in millisecondsvoid recordRecycled()
void recordLifetimeDuration(long millisecondsSinceAllocation)
millisecondsSinceAllocation
- the number of milliseconds since the object was allocated, at the time it is destroyedvoid recordIdleTime(long millisecondsIdle)
millisecondsIdle
- the number of milliseconds an object that was just acquired had previously been idlevoid recordSlowPath()
Pool
has a slow path of recycling and just used it.void recordFastPath()
Pool
has a fast path of recycling and just used it.default void recordPendingSuccessAndLatency(long latencyMs)
latencyMs
- the latency in millisecondsdefault void recordPendingFailureAndLatency(long latencyMs)
PoolAcquireTimeoutException
.
Implies incrementing a pending acquire failure counter as well.latencyMs
- the latency in milliseconds