Package com.codahale.metrics
Class MetricRegistry
- java.lang.Object
-
- com.codahale.metrics.MetricRegistry
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
MetricRegistry.MetricSupplier<T extends Metric>
-
Constructor Summary
Constructors Constructor Description MetricRegistry()
Creates a newMetricRegistry
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(MetricRegistryListener listener)
Adds aMetricRegistryListener
to a collection of listeners that will be notified on metric creation.protected ConcurrentMap<String,Metric>
buildMap()
Creates a newConcurrentMap
implementation for use inside the registry.Counter
counter(String name)
Counter
counter(String name, MetricRegistry.MetricSupplier<Counter> supplier)
Gauge
gauge(String name, MetricRegistry.MetricSupplier<Gauge> supplier)
SortedMap<String,Counter>
getCounters()
Returns a map of all the counters in the registry and their names.SortedMap<String,Counter>
getCounters(MetricFilter filter)
Returns a map of all the counters in the registry and their names which match the given filter.SortedMap<String,Gauge>
getGauges()
Returns a map of all the gauges in the registry and their names.SortedMap<String,Gauge>
getGauges(MetricFilter filter)
Returns a map of all the gauges in the registry and their names which match the given filter.SortedMap<String,Histogram>
getHistograms()
Returns a map of all the histograms in the registry and their names.SortedMap<String,Histogram>
getHistograms(MetricFilter filter)
Returns a map of all the histograms in the registry and their names which match the given filter.SortedMap<String,Meter>
getMeters()
Returns a map of all the meters in the registry and their names.SortedMap<String,Meter>
getMeters(MetricFilter filter)
Returns a map of all the meters in the registry and their names which match the given filter.Map<String,Metric>
getMetrics()
A map of metric names to metrics.SortedSet<String>
getNames()
Returns a set of the names of all the metrics in the registry.SortedMap<String,Timer>
getTimers()
Returns a map of all the timers in the registry and their names.SortedMap<String,Timer>
getTimers(MetricFilter filter)
Returns a map of all the timers in the registry and their names which match the given filter.Histogram
histogram(String name)
Histogram
histogram(String name, MetricRegistry.MetricSupplier<Histogram> supplier)
Meter
meter(String name)
Meter
meter(String name, MetricRegistry.MetricSupplier<Meter> supplier)
static String
name(Class<?> klass, String... names)
Concatenates a class name and elements to form a dotted name, eliding any null values or empty strings.static String
name(String name, String... names)
Concatenates elements to form a dotted name, eliding any null values or empty strings.<T extends Metric>
Tregister(String name, T metric)
Given aMetric
, registers it under the given name.void
registerAll(MetricSet metrics)
Given a metric set, registers them.void
registerAll(String prefix, MetricSet metrics)
Given a metric set, registers them with the given prefix prepended to their names.boolean
remove(String name)
Removes the metric with the given name.void
removeListener(MetricRegistryListener listener)
Removes aMetricRegistryListener
from this registry's collection of listeners.void
removeMatching(MetricFilter filter)
Removes all metrics which match the given filter.Timer
timer(String name)
Timer
timer(String name, MetricRegistry.MetricSupplier<Timer> supplier)
-
-
-
Constructor Detail
-
MetricRegistry
public MetricRegistry()
Creates a newMetricRegistry
.
-
-
Method Detail
-
name
public static String name(String name, String... names)
Concatenates elements to form a dotted name, eliding any null values or empty strings.- Parameters:
name
- the first element of the namenames
- the remaining elements of the name- Returns:
name
andnames
concatenated by periods
-
name
public static String name(Class<?> klass, String... names)
Concatenates a class name and elements to form a dotted name, eliding any null values or empty strings.- Parameters:
klass
- the first element of the namenames
- the remaining elements of the name- Returns:
klass
andnames
concatenated by periods
-
buildMap
protected ConcurrentMap<String,Metric> buildMap()
Creates a newConcurrentMap
implementation for use inside the registry. Override this to create aMetricRegistry
with space- or time-bounded metric lifecycles, for example.- Returns:
- a new
ConcurrentMap
-
register
public <T extends Metric> T register(String name, T metric) throws IllegalArgumentException
Given aMetric
, registers it under the given name.- Type Parameters:
T
- the type of the metric- Parameters:
name
- the name of the metricmetric
- the metric- Returns:
metric
- Throws:
IllegalArgumentException
- if the name is already registered or metric variable is null
-
registerAll
public void registerAll(MetricSet metrics) throws IllegalArgumentException
Given a metric set, registers them.- Parameters:
metrics
- a set of metrics- Throws:
IllegalArgumentException
- if any of the names are already registered
-
counter
public Counter counter(String name)
Return theCounter
registered under this name; or create and register a newCounter
if none is registered.- Parameters:
name
- the name of the metric- Returns:
- a new or pre-existing
Counter
-
counter
public Counter counter(String name, MetricRegistry.MetricSupplier<Counter> supplier)
Return theCounter
registered under this name; or create and register a newCounter
using the provided MetricSupplier if none is registered.- Parameters:
name
- the name of the metricsupplier
- a MetricSupplier that can be used to manufacture a counter.- Returns:
- a new or pre-existing
Counter
-
histogram
public Histogram histogram(String name)
Return theHistogram
registered under this name; or create and register a newHistogram
if none is registered.- Parameters:
name
- the name of the metric- Returns:
- a new or pre-existing
Histogram
-
histogram
public Histogram histogram(String name, MetricRegistry.MetricSupplier<Histogram> supplier)
Return theHistogram
registered under this name; or create and register a newHistogram
using the provided MetricSupplier if none is registered.- Parameters:
name
- the name of the metricsupplier
- a MetricSupplier that can be used to manufacture a histogram- Returns:
- a new or pre-existing
Histogram
-
meter
public Meter meter(String name)
Return theMeter
registered under this name; or create and register a newMeter
if none is registered.- Parameters:
name
- the name of the metric- Returns:
- a new or pre-existing
Meter
-
meter
public Meter meter(String name, MetricRegistry.MetricSupplier<Meter> supplier)
Return theMeter
registered under this name; or create and register a newMeter
using the provided MetricSupplier if none is registered.- Parameters:
name
- the name of the metricsupplier
- a MetricSupplier that can be used to manufacture a Meter- Returns:
- a new or pre-existing
Meter
-
timer
public Timer timer(String name)
Return theTimer
registered under this name; or create and register a newTimer
if none is registered.- Parameters:
name
- the name of the metric- Returns:
- a new or pre-existing
Timer
-
timer
public Timer timer(String name, MetricRegistry.MetricSupplier<Timer> supplier)
Return theTimer
registered under this name; or create and register a newTimer
using the provided MetricSupplier if none is registered.- Parameters:
name
- the name of the metricsupplier
- a MetricSupplier that can be used to manufacture a Timer- Returns:
- a new or pre-existing
Timer
-
gauge
public Gauge gauge(String name, MetricRegistry.MetricSupplier<Gauge> supplier)
Return theGauge
registered under this name; or create and register a newGauge
using the provided MetricSupplier if none is registered.- Parameters:
name
- the name of the metricsupplier
- a MetricSupplier that can be used to manufacture a Gauge- Returns:
- a new or pre-existing
Gauge
-
remove
public boolean remove(String name)
Removes the metric with the given name.- Parameters:
name
- the name of the metric- Returns:
- whether or not the metric was removed
-
removeMatching
public void removeMatching(MetricFilter filter)
Removes all metrics which match the given filter.- Parameters:
filter
- a filter
-
addListener
public void addListener(MetricRegistryListener listener)
Adds aMetricRegistryListener
to a collection of listeners that will be notified on metric creation. Listeners will be notified in the order in which they are added.N.B.: The listener will be notified of all existing metrics when it first registers.
- Parameters:
listener
- the listener that will be notified
-
removeListener
public void removeListener(MetricRegistryListener listener)
Removes aMetricRegistryListener
from this registry's collection of listeners.- Parameters:
listener
- the listener that will be removed
-
getNames
public SortedSet<String> getNames()
Returns a set of the names of all the metrics in the registry.- Returns:
- the names of all the metrics
-
getGauges
public SortedMap<String,Gauge> getGauges()
Returns a map of all the gauges in the registry and their names.- Returns:
- all the gauges in the registry
-
getGauges
public SortedMap<String,Gauge> getGauges(MetricFilter filter)
Returns a map of all the gauges in the registry and their names which match the given filter.- Parameters:
filter
- the metric filter to match- Returns:
- all the gauges in the registry
-
getCounters
public SortedMap<String,Counter> getCounters()
Returns a map of all the counters in the registry and their names.- Returns:
- all the counters in the registry
-
getCounters
public SortedMap<String,Counter> getCounters(MetricFilter filter)
Returns a map of all the counters in the registry and their names which match the given filter.- Parameters:
filter
- the metric filter to match- Returns:
- all the counters in the registry
-
getHistograms
public SortedMap<String,Histogram> getHistograms()
Returns a map of all the histograms in the registry and their names.- Returns:
- all the histograms in the registry
-
getHistograms
public SortedMap<String,Histogram> getHistograms(MetricFilter filter)
Returns a map of all the histograms in the registry and their names which match the given filter.- Parameters:
filter
- the metric filter to match- Returns:
- all the histograms in the registry
-
getMeters
public SortedMap<String,Meter> getMeters()
Returns a map of all the meters in the registry and their names.- Returns:
- all the meters in the registry
-
getMeters
public SortedMap<String,Meter> getMeters(MetricFilter filter)
Returns a map of all the meters in the registry and their names which match the given filter.- Parameters:
filter
- the metric filter to match- Returns:
- all the meters in the registry
-
getTimers
public SortedMap<String,Timer> getTimers()
Returns a map of all the timers in the registry and their names.- Returns:
- all the timers in the registry
-
getTimers
public SortedMap<String,Timer> getTimers(MetricFilter filter)
Returns a map of all the timers in the registry and their names which match the given filter.- Parameters:
filter
- the metric filter to match- Returns:
- all the timers in the registry
-
registerAll
public void registerAll(String prefix, MetricSet metrics) throws IllegalArgumentException
Given a metric set, registers them with the given prefix prepended to their names.- Parameters:
prefix
- a name prefixmetrics
- a set of metrics- Throws:
IllegalArgumentException
- if any of the names are already registered
-
-