Class ProjectedMeter
java.lang.Object
com.codahale.metrics.Meter
com.inductiveautomation.ignition.gateway.historian.metric.ProjectedMeter
- All Implemented Interfaces:
com.codahale.metrics.Counting
,com.codahale.metrics.Metered
,com.codahale.metrics.Metric
public class ProjectedMeter
extends com.codahale.metrics.Meter
Projects rates by extrapolating from processing duration of event batches.
Unlike a standard
This provides insight into theoretical processing capacity rather than actual achieved throughput.
Unlike a standard
Meter
which measures actual throughput over wall clock time,
this meter projects theoretical throughput by extrapolating from processing duration.
For example, if 100 events took 50 ms to process, a rate of 2000 events/second will be projected.
This provides insight into theoretical processing capacity rather than actual achieved throughput.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a newProjectedMeter
.ProjectedMeter
(com.codahale.metrics.Clock clock) Creates a newProjectedMeter
. -
Method Summary
Methods inherited from class com.codahale.metrics.Meter
getCount, getFifteenMinuteRate, getFiveMinuteRate, getOneMinuteRate
-
Constructor Details
-
ProjectedMeter
public ProjectedMeter()Creates a newProjectedMeter
. -
ProjectedMeter
public ProjectedMeter(com.codahale.metrics.Clock clock) Creates a newProjectedMeter
.- Parameters:
clock
- the clock to use for the meter ticks
-
-
Method Details
-
mark
public void mark(long events, long durationNanos) Records events and projects their rate based on processing duration.
Projects rate as: (events * NANOS_PER_SECOND) / durationNanos- Parameters:
events
- the number of events processeddurationNanos
- the actual time taken to process these events
-
mark
public void mark()- Overrides:
mark
in classcom.codahale.metrics.Meter
-
mark
public void mark(long n) - Overrides:
mark
in classcom.codahale.metrics.Meter
-
getMeanRate
public double getMeanRate()Returns the mean rate of events per second based on the total processing time.- Specified by:
getMeanRate
in interfacecom.codahale.metrics.Metered
- Overrides:
getMeanRate
in classcom.codahale.metrics.Meter
-