Package com.codahale.metrics
Class MetricRegistry
java.lang.Object
com.codahale.metrics.MetricRegistry
A registry of metric instances.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static interface
MetricRegistry.MetricBuilder<T extends Metric>
A quick and easy way of capturing the notion of default metrics. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List
<MetricRegistryListener> private final ConcurrentMap
<String, Metric> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(MetricRegistryListener listener) Adds aMetricRegistryListener
to a collection of listeners that will be notified on metric creation.private static void
append
(StringBuilder builder, String part) protected ConcurrentMap
<String, Metric> buildMap()
Creates a newConcurrentMap
implementation for use inside the registry.Creates a newCounter
and registers it under the given name.Returns a map of all the counters in the registry and their names.getCounters
(MetricFilter filter) Returns a map of all the counters in the registry and their names which match the given filter.Returns a map of all the gauges in the registry and their names.getGauges
(MetricFilter filter) Returns a map of all the gauges in the registry and their names which match the given filter.Returns a map of all the histograms in the registry and their names.getHistograms
(MetricFilter filter) Returns a map of all the histograms in the registry and their names which match the given filter.Returns a map of all the meters in the registry and their names.getMeters
(MetricFilter filter) Returns a map of all the meters in the registry and their names which match the given filter.A map of metric names to metrics.getMetrics
(Class<T> klass, MetricFilter filter) getNames()
Returns a set of the names of all the metrics in the registry.private <T extends Metric>
TgetOrAdd
(String name, MetricRegistry.MetricBuilder<T> builder) Returns a map of all the timers in the registry and their names.getTimers
(MetricFilter filter) Returns a map of all the timers in the registry and their names which match the given filter.Creates a newHistogram
and registers it under the given name.Creates a newMeter
and registers it under the given name.static String
Concatenates a class name and elements to form a dotted name, eliding any null values or empty strings.static String
Concatenates elements to form a dotted name, eliding any null values or empty strings.private void
notifyListenerOfAddedMetric
(MetricRegistryListener listener, Metric metric, String name) private void
notifyListenerOfRemovedMetric
(String name, Metric metric, MetricRegistryListener listener) private void
onMetricAdded
(String name, Metric metric) private void
onMetricRemoved
(String name, Metric metric) <T extends Metric>
TGiven aMetric
, registers it under the given name.void
registerAll
(MetricSet metrics) Given a metric set, registers them.private void
registerAll
(String prefix, MetricSet metrics) boolean
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.Creates a newTimer
and registers it under the given name.
-
Field Details
-
metrics
-
listeners
-
-
Constructor Details
-
MetricRegistry
public MetricRegistry()Creates a newMetricRegistry
.
-
-
Method Details
-
name
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
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
-
append
-
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
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
-
registerAll
Given a metric set, registers them.- Parameters:
metrics
- a set of metrics- Throws:
IllegalArgumentException
- if any of the names are already registered
-
counter
Creates a newCounter
and registers it under the given name.- Parameters:
name
- the name of the metric- Returns:
- a new
Counter
-
histogram
Creates a newHistogram
and registers it under the given name.- Parameters:
name
- the name of the metric- Returns:
- a new
Histogram
-
meter
Creates a newMeter
and registers it under the given name.- Parameters:
name
- the name of the metric- Returns:
- a new
Meter
-
timer
Creates a newTimer
and registers it under the given name.- Parameters:
name
- the name of the metric- Returns:
- a new
Timer
-
remove
Removes the metric with the given name.- Parameters:
name
- the name of the metric- Returns:
- whether or not the metric was removed
-
removeMatching
Removes all metrics which match the given filter.- Parameters:
filter
- a filter
-
addListener
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
Removes aMetricRegistryListener
from this registry's collection of listeners.- Parameters:
listener
- the listener that will be removed
-
getNames
Returns a set of the names of all the metrics in the registry.- Returns:
- the names of all the metrics
-
getGauges
Returns a map of all the gauges in the registry and their names.- Returns:
- all the gauges in the registry
-
getGauges
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
Returns a map of all the counters in the registry and their names.- Returns:
- all the counters in the registry
-
getCounters
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
Returns a map of all the histograms in the registry and their names.- Returns:
- all the histograms in the registry
-
getHistograms
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
Returns a map of all the meters in the registry and their names.- Returns:
- all the meters in the registry
-
getMeters
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
Returns a map of all the timers in the registry and their names.- Returns:
- all the timers in the registry
-
getTimers
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
-
getOrAdd
-
getMetrics
-
onMetricAdded
-
notifyListenerOfAddedMetric
private void notifyListenerOfAddedMetric(MetricRegistryListener listener, Metric metric, String name) -
onMetricRemoved
-
notifyListenerOfRemovedMetric
private void notifyListenerOfRemovedMetric(String name, Metric metric, MetricRegistryListener listener) -
registerAll
- Throws:
IllegalArgumentException
-
getMetrics
Description copied from interface:MetricSet
A map of metric names to metrics.- Specified by:
getMetrics
in interfaceMetricSet
- Returns:
- the metrics
-