@Internal public class MeterView extends Object implements Meter, View
The primary advantage of this class is that the rate is neither updated by the computing thread nor for every event. Instead, a history of counts is maintained that is updated in regular intervals by a background thread. From this history a rate is derived on demand, which represents the average rate of events over the given time span.
Setting the time span to a low value reduces memory-consumption and will more accurately
report short-term changes. The minimum value possible is View.UPDATE_INTERVAL_SECONDS
. A
high value in turn increases memory-consumption, since a longer history has to be maintained, but
will result in smoother transitions between rates.
The events are counted by a Counter
.
UPDATE_INTERVAL_SECONDS
Constructor and Description |
---|
MeterView(Counter counter) |
MeterView(Counter counter,
int timeSpanInSeconds) |
MeterView(Gauge<? extends Number> numberGauge) |
MeterView(int timeSpanInSeconds) |
Modifier and Type | Method and Description |
---|---|
long |
getCount()
Get number of events marked on the meter.
|
double |
getRate()
Returns the current rate of events per second.
|
void |
markEvent()
Mark occurrence of an event.
|
void |
markEvent(long n)
Mark occurrence of multiple events.
|
void |
update()
This method will be called regularly to update the metric.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getMetricType
public MeterView(int timeSpanInSeconds)
public MeterView(Counter counter)
public MeterView(Counter counter, int timeSpanInSeconds)
public void markEvent()
Meter
public void markEvent(long n)
Meter
public long getCount()
Meter
public double getRate()
Meter
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.