public class Metrics
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static CompositeMeterRegistry |
globalRegistry |
Constructor and Description |
---|
Metrics() |
Modifier and Type | Method and Description |
---|---|
static void |
addRegistry(MeterRegistry registry) |
static Counter |
counter(java.lang.String name,
java.lang.Iterable<Tag> tags)
Tracks a monotonically increasing value.
|
static Counter |
counter(java.lang.String name,
java.lang.String... tags)
Tracks a monotonically increasing value.
|
static <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 . |
static <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. |
static <T extends java.lang.Number> |
gauge(java.lang.String name,
T number)
Register a gauge that reports the value of the
Number . |
static <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.
|
static <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 . |
static <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 . |
static io.micrometer.core.instrument.Metrics.More |
more()
Access to less frequently used meter types and patterns.
|
static void |
removeRegistry(MeterRegistry registry) |
static DistributionSummary |
summary(java.lang.String name,
java.lang.Iterable<Tag> tags)
Measures the sample distribution of events.
|
static DistributionSummary |
summary(java.lang.String name,
java.lang.String... tags)
Measures the sample distribution of events.
|
static Timer |
timer(java.lang.String name,
java.lang.Iterable<Tag> tags)
Measures the time taken for short tasks.
|
static Timer |
timer(java.lang.String name,
java.lang.String... tags)
Measures the time taken for short tasks.
|
public static final CompositeMeterRegistry globalRegistry
public static void addRegistry(MeterRegistry registry)
public static void removeRegistry(MeterRegistry registry)
public static Counter counter(java.lang.String name, java.lang.Iterable<Tag> tags)
public static Counter counter(java.lang.String name, java.lang.String... tags)
name
- The base metric nametags
- MUST be an even number of arguments representing key/value pairs of tags.public static DistributionSummary summary(java.lang.String name, java.lang.Iterable<Tag> tags)
public static DistributionSummary summary(java.lang.String name, java.lang.String... tags)
name
- The base metric nametags
- MUST be an even number of arguments representing key/value pairs of tags.public static Timer timer(java.lang.String name, java.lang.Iterable<Tag> tags)
public static Timer timer(java.lang.String name, java.lang.String... tags)
name
- The base metric nametags
- MUST be an even number of arguments representing key/value pairs of tags.public static io.micrometer.core.instrument.Metrics.More more()
public static <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 name.obj
- Object used to compute a value.f
- Function that is applied on the value for the number.public static <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 name.number
- Thread-safe implementation of Number
used to access the value.public static <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.public static <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.public static <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 name.collection
- Thread-safe implementation of Collection
used to access the value.public static <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 name.map
- Thread-safe implementation of Map
used to access the value.