Class PrometheusMetricProviderImpl
- java.lang.Object
-
- org.opendaylight.infrautils.metrics.prometheus.impl.PrometheusMetricProviderImpl
-
- All Implemented Interfaces:
MetricProvider
@Singleton public class PrometheusMetricProviderImpl extends Object implements MetricProvider
Implementation ofMetricProviderbased on Prometheus.IO.- Author:
- Michael Vorburger.ch
-
-
Constructor Summary
Constructors Constructor Description PrometheusMetricProviderImpl(io.prometheus.client.CollectorRegistry prometheusRegistry)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()CounternewCounter(Object anchor, String id)Create new Counter metric.CounternewCounter(MetricDescriptor descriptor)Create new Counter metric without labels.Labeled<Counter>newCounter(MetricDescriptor descriptor, String labelName)Create new Counter metric with 1 label.Labeled<Labeled<Counter>>newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)Create new Counter metric with 2 labels.Labeled<Labeled<Labeled<Counter>>>newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName)Create new Counter metric with 3 labels.Labeled<Labeled<Labeled<Labeled<Counter>>>>newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName)Create new Counter metric with 4 labels.Labeled<Labeled<Labeled<Labeled<Labeled<Counter>>>>>newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName, String fifthLabelName)Create new Counter metric with 5 labels.MeternewMeter(Object anchor, String id)Create new Meter metric.MeternewMeter(MetricDescriptor descriptor)Create new Meter metric without labels.Labeled<Meter>newMeter(MetricDescriptor descriptor, String labelName)Create new Meter metric with 1 label.Labeled<Labeled<Meter>>newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)Create new Meter metric with 2 labels.Labeled<Labeled<Labeled<Meter>>>newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName)Create new Meter metric with 3 labels.Labeled<Labeled<Labeled<Labeled<Meter>>>>newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName)Create new Meter metric with 4 labels.Labeled<Labeled<Labeled<Labeled<Labeled<Meter>>>>>newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName, String fifthLabelName)Create new Meter metric with 5 labels.TimernewTimer(Object anchor, String id)TimernewTimer(MetricDescriptor descriptor)Create new Timer metric without labels.Labeled<Timer>newTimer(MetricDescriptor descriptor, String labelName)Create new Timer metric with 1 label.Labeled<Labeled<Timer>>newTimer(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)Create new Timer metric with 2 labels.
-
-
-
Constructor Detail
-
PrometheusMetricProviderImpl
@Inject public PrometheusMetricProviderImpl(io.prometheus.client.CollectorRegistry prometheusRegistry)
Constructor. We force passing an existing CollectorRegistry instead of CollectorRegistry.defaultRegistry because defaultRegistry is static, which is a problem for use e.g. in tests.
-
-
Method Detail
-
close
@PreDestroy public void close()
-
newMeter
public Meter newMeter(Object anchor, String id)
Description copied from interface:MetricProviderCreate new Meter metric.- Specified by:
newMeterin interfaceMetricProvider
-
newMeter
public Meter newMeter(MetricDescriptor descriptor)
Description copied from interface:MetricProviderCreate new Meter metric without labels.- Specified by:
newMeterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()- Returns:
- the Meter
-
newMeter
public Labeled<Meter> newMeter(MetricDescriptor descriptor, String labelName)
Description copied from interface:MetricProviderCreate new Meter metric with 1 label.- Specified by:
newMeterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()labelName- name of the (only) label of this metric- Returns:
- an object from which a Meter can be obtained, given 1 label value
-
newMeter
public Labeled<Labeled<Meter>> newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)
Description copied from interface:MetricProviderCreate new Meter metric with 2 labels.- Specified by:
newMeterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metric- Returns:
- an object from which a Meter can be obtained, given 2 label values
-
newMeter
public Labeled<Labeled<Labeled<Meter>>> newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName)
Description copied from interface:MetricProviderCreate new Meter metric with 3 labels.- Specified by:
newMeterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metricthirdLabelName- name of the 3rd label of this metric- Returns:
- an object from which a Meter can be obtained, given 3 label values
-
newMeter
public Labeled<Labeled<Labeled<Labeled<Meter>>>> newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName)
Description copied from interface:MetricProviderCreate new Meter metric with 4 labels.- Specified by:
newMeterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metricthirdLabelName- name of the 3rd label of this metricfourthLabelName- name of the 4th label of this metric- Returns:
- an object from which a Meter can be obtained, given 3 label values
-
newMeter
public Labeled<Labeled<Labeled<Labeled<Labeled<Meter>>>>> newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName, String fifthLabelName)
Description copied from interface:MetricProviderCreate new Meter metric with 5 labels.- Specified by:
newMeterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metricthirdLabelName- name of the 3rd label of this metricfourthLabelName- name of the 4th label of this metricfifthLabelName- name of the 5th label of this metric- Returns:
- an object from which a Meter can be obtained, given 3 label values
-
newCounter
public Counter newCounter(Object anchor, String id)
Description copied from interface:MetricProviderCreate new Counter metric.- Specified by:
newCounterin interfaceMetricProvider
-
newCounter
public Counter newCounter(MetricDescriptor descriptor)
Description copied from interface:MetricProviderCreate new Counter metric without labels.- Specified by:
newCounterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()- Returns:
- the Counter
-
newCounter
public Labeled<Counter> newCounter(MetricDescriptor descriptor, String labelName)
Description copied from interface:MetricProviderCreate new Counter metric with 1 label.- Specified by:
newCounterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()labelName- name of the (only) label of this metric- Returns:
- an object from which a Counter can be obtained, given 1 label value
-
newCounter
public Labeled<Labeled<Counter>> newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)
Description copied from interface:MetricProviderCreate new Counter metric with 2 labels.- Specified by:
newCounterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metric- Returns:
- an object from which a Counter can be obtained, given 2 label values
-
newCounter
public Labeled<Labeled<Labeled<Counter>>> newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName)
Description copied from interface:MetricProviderCreate new Counter metric with 3 labels.- Specified by:
newCounterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metricthirdLabelName- name of the 3rd label of this metric- Returns:
- an object from which a Counter can be obtained, given 3 label values
-
newCounter
public Labeled<Labeled<Labeled<Labeled<Counter>>>> newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName)
Description copied from interface:MetricProviderCreate new Counter metric with 4 labels.- Specified by:
newCounterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metricthirdLabelName- name of the 3rd label of this metricfourthLabelName- name of the 4th label of this metric- Returns:
- an object from which a Counter can be obtained, given 4 label values
-
newCounter
public Labeled<Labeled<Labeled<Labeled<Labeled<Counter>>>>> newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName, String fifthLabelName)
Description copied from interface:MetricProviderCreate new Counter metric with 5 labels.- Specified by:
newCounterin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metricthirdLabelName- name of the 3rd label of this metricfourthLabelName- name of the 4th label of this metricfifthLabelName- name of the 5th label of this metric- Returns:
- an object from which a Counter can be obtained, given 5 label values
-
newTimer
public Timer newTimer(Object anchor, String id)
- Specified by:
newTimerin interfaceMetricProvider
-
newTimer
public Timer newTimer(MetricDescriptor descriptor)
Description copied from interface:MetricProviderCreate new Timer metric without labels.- Specified by:
newTimerin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()- Returns:
- the Timer
-
newTimer
public Labeled<Timer> newTimer(MetricDescriptor descriptor, String labelName)
Description copied from interface:MetricProviderCreate new Timer metric with 1 label.- Specified by:
newTimerin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()labelName- name of the (only) label of this metric- Returns:
- an object from which a Timer can be obtained, given 1 label value
-
newTimer
public Labeled<Labeled<Timer>> newTimer(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)
Description copied from interface:MetricProviderCreate new Timer metric with 2 labels.- Specified by:
newTimerin interfaceMetricProvider- Parameters:
descriptor- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()firstLabelName- name of the 1st label of this metricsecondLabelName- name of the 2nd label of this metric- Returns:
- an object from which a Timer can be obtained, given 2 label values
-
-