Package io.prometheus.client
Class Info
- java.lang.Object
-
- io.prometheus.client.Collector
-
- io.prometheus.client.SimpleCollector<Info.Child>
-
- io.prometheus.client.Info
-
- All Implemented Interfaces:
Collector.Describable
public class Info extends SimpleCollector<Info.Child> implements Collector.Describable
Info metric, key-value pairs. Examples of Info include build information, version information, and potential target metadata. The string "_info" will be appended to the sample name.Example Info:
class YourClass { static final Info buildInfo = Info.build() .name("your_build").help("Build information.") .register(); void func() { // Your code here. buildInfo.info("branch", "HEAD", "version", "1.2.3", "revision", "e0704b"); } }
- Since:
- 0.10.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Info.Builder
static class
Info.Child
The value of a single Info.-
Nested classes/interfaces inherited from class io.prometheus.client.Collector
Collector.Describable, Collector.MetricFamilySamples, Collector.Type
-
-
Field Summary
-
Fields inherited from class io.prometheus.client.SimpleCollector
children, fullname, help, labelNames, noLabelsChild, unit
-
Fields inherited from class io.prometheus.client.Collector
MILLISECONDS_PER_SECOND, NANOSECONDS_PER_SECOND
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Info.Builder
build()
Return a Builder to allow configuration of a new Info.static Info.Builder
build(String name, String help)
Return a Builder to allow configuration of a new Info.List<Collector.MetricFamilySamples>
collect()
Return all metrics of this Collector.List<Collector.MetricFamilySamples>
describe()
Provide a list of metric families this Collector is expected to return.Map<String,String>
get()
Get the the info.void
info(String... v)
Set the info on the info with no labels.void
info(Map<String,String> v)
Set the info on the info with no labels.protected Info.Child
newChild()
Return a new child, workaround for Java generics limitations.-
Methods inherited from class io.prometheus.client.SimpleCollector
clear, familySamplesList, initializeNoLabelsChild, labels, remove, setChild
-
Methods inherited from class io.prometheus.client.Collector
checkMetricLabelName, checkMetricName, collect, doubleToGoString, register, register, sanitizeMetricName
-
-
-
-
Method Detail
-
build
public static Info.Builder build(String name, String help)
Return a Builder to allow configuration of a new Info. Ensures required fields are provided.- Parameters:
name
- The name of the metrichelp
- The help string of the metric
-
build
public static Info.Builder build()
Return a Builder to allow configuration of a new Info.
-
newChild
protected Info.Child newChild()
Description copied from class:SimpleCollector
Return a new child, workaround for Java generics limitations.- Specified by:
newChild
in classSimpleCollector<Info.Child>
-
info
public void info(Map<String,String> v)
Set the info on the info with no labels.- Parameters:
v
- labels as pairs of key values
-
collect
public List<Collector.MetricFamilySamples> collect()
Description copied from class:Collector
Return all metrics of this Collector.
-
describe
public List<Collector.MetricFamilySamples> describe()
Description copied from interface:Collector.Describable
Provide a list of metric families this Collector is expected to return. These should exclude the samples. This is used by the registry to detect collisions and duplicate registrations. Usually custom collectors do not have to implement Describable. If Describable is not implemented and the CollectorRegistry was created with auto describe enabled (which is the case for the default registry) thenCollector.collect()
will be called at registration time instead of describe. If this could cause problems, either implement a proper describe, or if that's not practical have describe return an empty list.- Specified by:
describe
in interfaceCollector.Describable
-
-