public interface MeterRegistry
Modifier and Type | Interface and Description |
---|---|
static interface |
MeterRegistry.Config |
static interface |
MeterRegistry.More |
static interface |
MeterRegistry.Search |
Modifier and Type | Method and Description |
---|---|
MeterRegistry.Config |
config()
Access to configuration options for this registry.
|
default Counter |
counter(java.lang.String name,
java.lang.Iterable<Tag> tags)
Tracks a monotonically increasing value.
|
default Counter |
counter(java.lang.String name,
java.lang.String... tags)
Tracks a monotonically increasing value.
|
Counter.Builder |
counterBuilder(java.lang.String name)
Build a new Counter, which is registered with this registry once
Counter.Builder.create() is called. |
MeterRegistry.Search |
find(java.lang.String name) |
default <T extends java.lang.Number> |
gauge(java.lang.String name,
java.lang.Iterable<Tag> tags,
T number)
Register a gauge that reports the value of the
Number . |
default <T> T |
gauge(java.lang.String name,
java.lang.Iterable<Tag> tags,
T obj,
java.util.function.ToDoubleFunction<T> f)
Register a gauge that reports the value of the object after the function
f is applied. |
default <T extends java.lang.Number> |
gauge(java.lang.String name,
T number)
Register a gauge that reports the value of the
Number . |
default <T> T |
gauge(java.lang.String name,
T obj,
java.util.function.ToDoubleFunction<T> f)
Register a gauge that reports the value of the object.
|
<T> Gauge.Builder |
gaugeBuilder(java.lang.String name,
T obj,
java.util.function.ToDoubleFunction<T> f)
Build a new Gauge, which is registered with this registry once
Gauge.Builder.create() is called. |
default <T extends java.util.Collection<?>> |
gaugeCollectionSize(java.lang.String name,
java.lang.Iterable<Tag> tags,
T collection)
Register a gauge that reports the size of the
Collection . |
default <T extends java.util.Map<?,?>> |
gaugeMapSize(java.lang.String name,
java.lang.Iterable<Tag> tags,
T map)
Register a gauge that reports the size of the
Map . |
java.util.Collection<Meter> |
getMeters() |
MeterRegistry.More |
more()
Access to less frequently used meter types and patterns.
|
MeterRegistry |
register(java.lang.String name,
java.lang.Iterable<Tag> tags,
Meter.Type type,
java.lang.Iterable<Measurement> measurements) |
default DistributionSummary |
summary(java.lang.String name,
java.lang.Iterable<Tag> tags)
Measures the sample distribution of events.
|
default DistributionSummary |
summary(java.lang.String name,
java.lang.String... tags)
Measures the sample distribution of events.
|
DistributionSummary.Builder |
summaryBuilder(java.lang.String name)
Build a new Distribution Summary, which is registered with this registry once
DistributionSummary.Builder.create() is called. |
default Timer |
timer(java.lang.String name,
java.lang.Iterable<Tag> tags)
Measures the time taken for short tasks.
|
default Timer |
timer(java.lang.String name,
java.lang.String... tags)
Measures the time taken for short tasks.
|
Timer.Builder |
timerBuilder(java.lang.String name)
Build a new Timer, which is registered with this registry once
Timer.Builder.create() is called. |
java.util.Collection<Meter> getMeters()
MeterRegistry.Config config()
MeterRegistry.Search find(java.lang.String name)
Counter.Builder counterBuilder(java.lang.String name)
Counter.Builder.create()
is called.name
- The name of the counter (which is the only requirement for a new counter).default Counter counter(java.lang.String name, java.lang.Iterable<Tag> tags)
default Counter counter(java.lang.String name, java.lang.String... tags)
DistributionSummary.Builder summaryBuilder(java.lang.String name)
DistributionSummary.Builder.create()
is called.name
- The name of the distribution summary (which is the only requirement for a new distribution summary).default DistributionSummary summary(java.lang.String name, java.lang.Iterable<Tag> tags)
default DistributionSummary summary(java.lang.String name, java.lang.String... tags)
Timer.Builder timerBuilder(java.lang.String name)
Timer.Builder.create()
is called.name
- The name of the timer (which is the only requirement for a new timer).default Timer timer(java.lang.String name, java.lang.Iterable<Tag> tags)
default Timer timer(java.lang.String name, java.lang.String... tags)
MeterRegistry.More more()
MeterRegistry register(java.lang.String name, java.lang.Iterable<Tag> tags, Meter.Type type, java.lang.Iterable<Measurement> measurements)
default <T> T gauge(java.lang.String name, java.lang.Iterable<Tag> tags, T obj, java.util.function.ToDoubleFunction<T> f)
f
is applied. The registration will keep a weak reference to the object so it will
not prevent garbage collection. Applying f
on the object should be thread safe.
If multiple gauges are registered with the same id, then the values will be aggregated and the sum will be reported. For example, registering multiple gauges for active threads in a thread pool with the same id would produce a value that is the overall number of active threads. For other behaviors, manage it on the user side and avoid multiple registrations.
name
- Name of the gauge being registered.tags
- Sequence of dimensions for breaking down the getName.obj
- Object used to compute a value.f
- Function that is applied on the value for the number.default <T extends java.lang.Number> T gauge(java.lang.String name, java.lang.Iterable<Tag> tags, T number)
Number
.name
- Name of the gauge being registered.tags
- Sequence of dimensions for breaking down the getName.number
- Thread-safe implementation of Number
used to access the value.default <T extends java.lang.Number> T gauge(java.lang.String name, T number)
Number
.name
- Name of the gauge being registered.number
- Thread-safe implementation of Number
used to access the value.default <T> T gauge(java.lang.String name, T obj, java.util.function.ToDoubleFunction<T> f)
name
- Name of the gauge being registered.obj
- Object used to compute a value.f
- Function that is applied on the value for the number.default <T extends java.util.Collection<?>> T gaugeCollectionSize(java.lang.String name, java.lang.Iterable<Tag> tags, T collection)
Collection
. The registration
will keep a weak reference to the collection so it will not prevent garbage collection.
The collection implementation used should be thread safe. Note that calling
Collection.size()
can be expensive for some collection implementations
and should be considered before registering.name
- Name of the gauge being registered.tags
- Sequence of dimensions for breaking down the getName.collection
- Thread-safe implementation of Collection
used to access the value.default <T extends java.util.Map<?,?>> T gaugeMapSize(java.lang.String name, java.lang.Iterable<Tag> tags, T map)
Map
. The registration
will keep a weak reference to the collection so it will not prevent garbage collection.
The collection implementation used should be thread safe. Note that calling
Map.size()
can be expensive for some collection implementations
and should be considered before registering.name
- Name of the gauge being registered.tags
- Sequence of dimensions for breaking down the getName.map
- Thread-safe implementation of Map
used to access the value.<T> Gauge.Builder gaugeBuilder(java.lang.String name, T obj, java.util.function.ToDoubleFunction<T> f)
Gauge.Builder.create()
is called.name
- The name of the gauge.obj
- Object used to compute a value.f
- Function that is applied on the value for the number.