public abstract class AbstractTimer extends AbstractMeter implements Timer
Timer.Builder, Timer.SampleMeter.Id, Meter.Type| Modifier and Type | Field and Description |
|---|---|
protected Clock |
clock |
protected TimeWindowLatencyHistogram |
histogram |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractTimer(Meter.Id id,
Clock clock,
DistributionStatisticConfig distributionStatisticConfig,
PauseDetector pauseDetector,
java.util.concurrent.TimeUnit baseTimeUnit) |
| Modifier and Type | Method and Description |
|---|---|
java.util.concurrent.TimeUnit |
baseTimeUnit() |
void |
close() |
boolean |
equals(java.lang.Object o) |
int |
hashCode() |
double |
histogramCountAtValue(long valueNanos)
Provides cumulative histogram counts.
|
double |
percentile(double percentile,
java.util.concurrent.TimeUnit unit) |
void |
record(long amount,
java.util.concurrent.TimeUnit unit)
Updates the statistics kept by the counter with the specified amount.
|
void |
record(java.lang.Runnable f)
Executes the runnable `f` and records the time taken.
|
<T> T |
record(java.util.function.Supplier<T> f)
Executes the Supplier `f` and records the time taken.
|
<T> T |
recordCallable(java.util.concurrent.Callable<T> f)
Executes the callable `f` and records the time taken.
|
protected abstract void |
recordNonNegative(long amount,
java.util.concurrent.TimeUnit unit) |
DistributionStatisticConfig |
statsConfig() |
HistogramSnapshot |
takeSnapshot(boolean supportsAggregablePercentiles)
Summary statistics should be published off of a single snapshot instance so that, for example, there isn't
disagreement between the distribution's count and total because more events continue to stream in.
|
getIdclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitprotected final Clock clock
protected final TimeWindowLatencyHistogram histogram
protected AbstractTimer(Meter.Id id, Clock clock, DistributionStatisticConfig distributionStatisticConfig, PauseDetector pauseDetector, java.util.concurrent.TimeUnit baseTimeUnit)
public <T> T recordCallable(java.util.concurrent.Callable<T> f)
throws java.lang.Exception
TimerrecordCallable in interface TimerT - The return type of the Callable.f - Function to execute and measure the execution time.java.lang.Exception - Any exception bubbling up from the callable.public <T> T record(java.util.function.Supplier<T> f)
Timerpublic void record(java.lang.Runnable f)
Timerpublic final void record(long amount,
java.util.concurrent.TimeUnit unit)
Timerprotected abstract void recordNonNegative(long amount,
java.util.concurrent.TimeUnit unit)
public double percentile(double percentile,
java.util.concurrent.TimeUnit unit)
percentile in interface Timerpercentile - A percentile in the domain [0, 1]. For example, 0.5 represents the 50th percentile of the
distribution.unit - The base unit of time to scale the percentile value to.public double histogramCountAtValue(long valueNanos)
TimerhistogramCountAtValue in interface TimervalueNanos - The histogram bucket to retrieve a count for.public HistogramSnapshot takeSnapshot(boolean supportsAggregablePercentiles)
TimertakeSnapshot in interface TimersupportsAggregablePercentiles - Whether percentile histogram buckets should be included in the list of CountAtBucket.public java.util.concurrent.TimeUnit baseTimeUnit()
baseTimeUnit in interface Timerpublic boolean equals(@Nullable java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic DistributionStatisticConfig statsConfig()