Interface Meter
- All Known Subinterfaces:
Counter,DistributionSummary,FunctionCounter,FunctionTimer,Gauge,HistogramSupport,LongTaskTimer,TimeGauge,Timer
- All Known Implementing Classes:
AbstractDistributionSummary,AbstractMeter,AbstractTimer,CompositeFunctionCounter,CumulativeCounter,CumulativeDistributionSummary,CumulativeFunctionCounter,CumulativeFunctionTimer,CumulativeHistogramLongTaskTimer,CumulativeTimer,DefaultGauge,DefaultLongTaskTimer,DefaultMeter,DropwizardCounter,DropwizardDistributionSummary,DropwizardFunctionCounter,DropwizardFunctionTimer,DropwizardGauge,DropwizardTimer,NoopCounter,NoopDistributionSummary,NoopFunctionCounter,NoopFunctionTimer,NoopGauge,NoopLongTaskTimer,NoopMeter,NoopTimeGauge,NoopTimer,StepCounter,StepDistributionSummary,StepFunctionCounter,StepFunctionTimer,StepTimer
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classFluent builder for custom meters.static classA meter is uniquely identified by its combination of name and tags.static enumCustom meters may emit metrics like one of these types without implementing the corresponding interface. -
Method Summary
Modifier and TypeMethodDescriptionstatic Meter.Builderbuilder(String name, Meter.Type type, Iterable<Measurement> measurements) default voidclose()getId()default <T> Tmatch(Function<Gauge, T> visitGauge, Function<Counter, T> visitCounter, Function<Timer, T> visitTimer, Function<DistributionSummary, T> visitSummary, Function<LongTaskTimer, T> visitLongTaskTimer, Function<TimeGauge, T> visitTimeGauge, Function<FunctionCounter, T> visitFunctionCounter, Function<FunctionTimer, T> visitFunctionTimer, Function<Meter, T> visitMeter) measure()Get a set of measurements.default voiduse(Consumer<Gauge> visitGauge, Consumer<Counter> visitCounter, Consumer<Timer> visitTimer, Consumer<DistributionSummary> visitSummary, Consumer<LongTaskTimer> visitLongTaskTimer, Consumer<TimeGauge> visitTimeGauge, Consumer<FunctionCounter> visitFunctionCounter, Consumer<FunctionTimer> visitFunctionTimer, Consumer<Meter> visitMeter)
-
Method Details
-
builder
-
getId
Meter.Id getId()- Returns:
- A unique combination of name and tags
-
measure
Iterable<Measurement> measure()Get a set of measurements. Should always return the same number of measurements and in the same order, regardless of the level of activity or the lack thereof.- Returns:
- The set of measurements that represents the instantaneous value of this meter.
-
match
default <T> T match(Function<Gauge, T> visitGauge, Function<Counter, T> visitCounter, Function<Timer, T> visitTimer, Function<DistributionSummary, T> visitSummary, Function<LongTaskTimer, T> visitLongTaskTimer, Function<TimeGauge, T> visitTimeGauge, Function<FunctionCounter, T> visitFunctionCounter, Function<FunctionTimer, T> visitFunctionTimer, Function<Meter, T> visitMeter) Match aMeterby type with series of dedicated functions for specificMeters and return a result from the matched function.NOTE: This method contract will change in minor releases if ever a new
Metertype is created. In this case only, this is considered a feature. By using this method, you are declaring that you want to be sure to handle all types of meters. A breaking API change during the introduction of a newMeterindicates that there is a new meter type for you to consider and the compiler will effectively require you to consider it.- Type Parameters:
T- return type of function to apply- Parameters:
visitGauge- function to apply forGaugevisitCounter- function to apply forCountervisitTimer- function to apply forTimervisitSummary- function to apply forDistributionSummaryvisitLongTaskTimer- function to apply forLongTaskTimervisitTimeGauge- function to apply forTimeGaugevisitFunctionCounter- function to apply forFunctionCountervisitFunctionTimer- function to apply forFunctionTimervisitMeter- function to apply as a fallback- Returns:
- return value from the applied function
- Since:
- 1.1.0
-
use
default void use(Consumer<Gauge> visitGauge, Consumer<Counter> visitCounter, Consumer<Timer> visitTimer, Consumer<DistributionSummary> visitSummary, Consumer<LongTaskTimer> visitLongTaskTimer, Consumer<TimeGauge> visitTimeGauge, Consumer<FunctionCounter> visitFunctionCounter, Consumer<FunctionTimer> visitFunctionTimer, Consumer<Meter> visitMeter) Match aMeterwith a series of dedicated functions for specificMeters and call the matching consumer.NOTE: This method contract will change in minor releases if ever a new
Metertype is created. In this case only, this is considered a feature. By using this method, you are declaring that you want to be sure to handle all types of meters. A breaking API change during the introduction of a newMeterindicates that there is a new meter type for you to consider and the compiler will effectively require you to consider it.- Parameters:
visitGauge- function to apply forGaugevisitCounter- function to apply forCountervisitTimer- function to apply forTimervisitSummary- function to apply forDistributionSummaryvisitLongTaskTimer- function to apply forLongTaskTimervisitTimeGauge- function to apply forTimeGaugevisitFunctionCounter- function to apply forFunctionCountervisitFunctionTimer- function to apply forFunctionTimervisitMeter- function to apply as a fallback- Since:
- 1.1.0
-
close
default void close()
-