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(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.
|
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–2020 The Apache Software Foundation. All rights reserved.