Class MetricProviderImpl
- java.lang.Object
-
- org.opendaylight.infrautils.metrics.internal.MetricProviderImpl
-
- All Implemented Interfaces:
MetricProvider
@Singleton public class MetricProviderImpl extends Object
Implementation ofMetricProvider
based on Coda Hale's Dropwizard Metrics.- Author:
- Michael Vorburger.ch
-
-
Constructor Summary
Constructors Constructor Description MetricProviderImpl()
MetricProviderImpl(Configuration configuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
com.codahale.metrics.MetricRegistry
getRegistry()
Counter
newCounter(Object anchor, String id)
Create new Counter metric.Counter
newCounter(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.Meter
newMeter(Object anchor, String id)
Create new Meter metric.Meter
newMeter(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.Timer
newTimer(Object anchor, String id)
Timer
newTimer(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.void
open()
void
updateConfiguration(Configuration configuration)
-
-
-
Constructor Detail
-
MetricProviderImpl
public MetricProviderImpl()
-
MetricProviderImpl
public MetricProviderImpl(Configuration configuration)
-
-
Method Detail
-
open
@PostConstruct public void open()
-
close
@PreDestroy public void close()
-
updateConfiguration
public final void updateConfiguration(Configuration configuration)
-
getRegistry
public final com.codahale.metrics.MetricRegistry getRegistry()
-
newMeter
public final Meter newMeter(Object anchor, String id)
Description copied from interface:MetricProvider
Create new Meter metric.- Specified by:
newMeter
in interfaceMetricProvider
-
newMeter
public final Meter newMeter(MetricDescriptor descriptor)
Description copied from interface:MetricProvider
Create new Meter metric without labels.- Specified by:
newMeter
in interfaceMetricProvider
- Parameters:
descriptor
- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
- Returns:
- the Meter
-
newMeter
public final Labeled<Meter> newMeter(MetricDescriptor descriptor, String labelName)
Description copied from interface:MetricProvider
Create new Meter metric with 1 label.- Specified by:
newMeter
in 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 final Labeled<Labeled<Meter>> newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)
Description copied from interface:MetricProvider
Create new Meter metric with 2 labels.- Specified by:
newMeter
in 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 final Labeled<Labeled<Labeled<Meter>>> newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName)
Description copied from interface:MetricProvider
Create new Meter metric with 3 labels.- Specified by:
newMeter
in 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 final Labeled<Labeled<Labeled<Labeled<Meter>>>> newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName)
Description copied from interface:MetricProvider
Create new Meter metric with 4 labels.- Specified by:
newMeter
in 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 final Labeled<Labeled<Labeled<Labeled<Labeled<Meter>>>>> newMeter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName, String fifthLabelName)
Description copied from interface:MetricProvider
Create new Meter metric with 5 labels.- Specified by:
newMeter
in 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 final Counter newCounter(Object anchor, String id)
Description copied from interface:MetricProvider
Create new Counter metric.- Specified by:
newCounter
in interfaceMetricProvider
-
newCounter
public final Counter newCounter(MetricDescriptor descriptor)
Description copied from interface:MetricProvider
Create new Counter metric without labels.- Specified by:
newCounter
in interfaceMetricProvider
- Parameters:
descriptor
- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
- Returns:
- the Counter
-
newCounter
public final Labeled<Counter> newCounter(MetricDescriptor descriptor, String labelName)
Description copied from interface:MetricProvider
Create new Counter metric with 1 label.- Specified by:
newCounter
in 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 final Labeled<Labeled<Counter>> newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)
Description copied from interface:MetricProvider
Create new Counter metric with 2 labels.- Specified by:
newCounter
in 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 final Labeled<Labeled<Labeled<Counter>>> newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName)
Description copied from interface:MetricProvider
Create new Counter metric with 3 labels.- Specified by:
newCounter
in 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 final Labeled<Labeled<Labeled<Labeled<Counter>>>> newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName)
Description copied from interface:MetricProvider
Create new Counter metric with 4 labels.- Specified by:
newCounter
in 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 final Labeled<Labeled<Labeled<Labeled<Labeled<Counter>>>>> newCounter(MetricDescriptor descriptor, String firstLabelName, String secondLabelName, String thirdLabelName, String fourthLabelName, String fifthLabelName)
Description copied from interface:MetricProvider
Create new Counter metric with 5 labels.- Specified by:
newCounter
in 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 final Timer newTimer(Object anchor, String id)
- Specified by:
newTimer
in interfaceMetricProvider
-
newTimer
public final Timer newTimer(MetricDescriptor descriptor)
Description copied from interface:MetricProvider
Create new Timer metric without labels.- Specified by:
newTimer
in interfaceMetricProvider
- Parameters:
descriptor
- a MetricDescriptor, typically created viaMetricDescriptor.builder().anchor(this) .project("<projectName>").module("<moduleName>").id("<metricName>").build()
- Returns:
- the Timer
-
newTimer
public final Labeled<Timer> newTimer(MetricDescriptor descriptor, String labelName)
Description copied from interface:MetricProvider
Create new Timer metric with 1 label.- Specified by:
newTimer
in 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 final Labeled<Labeled<Timer>> newTimer(MetricDescriptor descriptor, String firstLabelName, String secondLabelName)
Description copied from interface:MetricProvider
Create new Timer metric with 2 labels.- Specified by:
newTimer
in 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
-
-