Package net.spy.memcached.metrics
Class DefaultMetricCollector
- java.lang.Object
-
- net.spy.memcached.metrics.AbstractMetricCollector
-
- net.spy.memcached.metrics.DefaultMetricCollector
-
- All Implemented Interfaces:
MetricCollector
public final class DefaultMetricCollector extends AbstractMetricCollector
AMetricCollectorthat uses the Codahale Metrics library. The following system properies can be used to customize the behavior of the collector during runtime:- net.spy.metrics.reporter.type = console (console/jmx/csv/slf4j) - net.spy.metrics.reporter.interval = 30 (time interval to log) - net.spy.metrics.reporter.outdir = ~/mydir (output dir for csv reporter)
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ConcurrentHashMap<java.lang.String,com.codahale.metrics.Counter>countersContains all registeredCounters.static java.lang.StringDEFAULT_REPORTER_INTERVALLog every 30 seconds to the console by default.static java.lang.StringDEFAULT_REPORTER_OUTDIRDefine an empty directory for the CSV exporter by default.static java.lang.StringDEFAULT_REPORTER_TYPEUse the "console" reporter by default.private java.util.concurrent.ConcurrentHashMap<java.lang.String,com.codahale.metrics.Histogram>histogramsContains all registeredHistograms.private java.util.concurrent.ConcurrentHashMap<java.lang.String,com.codahale.metrics.Meter>metersContains all registeredMeters.private com.codahale.metrics.MetricRegistryregistryHolds the registry where all metrics are stored.
-
Constructor Summary
Constructors Constructor Description DefaultMetricCollector()Create a newDefaultMetricCollector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCounter(java.lang.String name)Add a Counter to the collector.voidaddHistogram(java.lang.String name)Add a Histogram to the Collector.voidaddMeter(java.lang.String name)Add a Meter to the Collector.voiddecrementCounter(java.lang.String name, int amount)Decrement a Counter by the given amount.voidincrementCounter(java.lang.String name, int amount)Increment a Counter by the given amount.private voidinitReporter()Initialize the proper metrics Reporter.voidmarkMeter(java.lang.String name)Mark a checkpoint in the Meter.voidremoveCounter(java.lang.String name)Remove a Counter from the collector.voidremoveHistogram(java.lang.String name)Remove a Histogram from the Collector.voidremoveMeter(java.lang.String name)Remove a Meter from the Collector.voidupdateHistogram(java.lang.String name, int amount)Update the Histogram with the given amount.-
Methods inherited from class net.spy.memcached.metrics.AbstractMetricCollector
decrementCounter, incrementCounter
-
-
-
-
Field Detail
-
DEFAULT_REPORTER_TYPE
public static final java.lang.String DEFAULT_REPORTER_TYPE
Use the "console" reporter by default.- See Also:
- Constant Field Values
-
DEFAULT_REPORTER_INTERVAL
public static final java.lang.String DEFAULT_REPORTER_INTERVAL
Log every 30 seconds to the console by default.- See Also:
- Constant Field Values
-
DEFAULT_REPORTER_OUTDIR
public static final java.lang.String DEFAULT_REPORTER_OUTDIR
Define an empty directory for the CSV exporter by default.- See Also:
- Constant Field Values
-
registry
private com.codahale.metrics.MetricRegistry registry
Holds the registry where all metrics are stored.
-
counters
private java.util.concurrent.ConcurrentHashMap<java.lang.String,com.codahale.metrics.Counter> counters
Contains all registeredCounters.
-
meters
private java.util.concurrent.ConcurrentHashMap<java.lang.String,com.codahale.metrics.Meter> meters
Contains all registeredMeters.
-
histograms
private java.util.concurrent.ConcurrentHashMap<java.lang.String,com.codahale.metrics.Histogram> histograms
Contains all registeredHistograms.
-
-
Constructor Detail
-
DefaultMetricCollector
public DefaultMetricCollector()
Create a newDefaultMetricCollector. Note that when this constructor is called, the reporter is also automatically established.
-
-
Method Detail
-
initReporter
private void initReporter()
Initialize the proper metrics Reporter.
-
addCounter
public void addCounter(java.lang.String name)
Description copied from interface:MetricCollectorAdd a Counter to the collector.- Parameters:
name- the name of the counter.
-
removeCounter
public void removeCounter(java.lang.String name)
Description copied from interface:MetricCollectorRemove a Counter from the collector.- Parameters:
name- the name of the counter.
-
incrementCounter
public void incrementCounter(java.lang.String name, int amount)Description copied from interface:MetricCollectorIncrement a Counter by the given amount.- Parameters:
name- the name of the counter.amount- the amount to increase.
-
decrementCounter
public void decrementCounter(java.lang.String name, int amount)Description copied from interface:MetricCollectorDecrement a Counter by the given amount.- Parameters:
name- the name of the counter.amount- the amount to decrease.
-
addMeter
public void addMeter(java.lang.String name)
Description copied from interface:MetricCollectorAdd a Meter to the Collector.- Parameters:
name- the name of the counter.
-
removeMeter
public void removeMeter(java.lang.String name)
Description copied from interface:MetricCollectorRemove a Meter from the Collector.- Parameters:
name- the name of the counter.
-
markMeter
public void markMeter(java.lang.String name)
Description copied from interface:MetricCollectorMark a checkpoint in the Meter.- Parameters:
name- the name of the counter.
-
addHistogram
public void addHistogram(java.lang.String name)
Description copied from interface:MetricCollectorAdd a Histogram to the Collector.- Parameters:
name- the name of the counter.
-
removeHistogram
public void removeHistogram(java.lang.String name)
Description copied from interface:MetricCollectorRemove a Histogram from the Collector.- Parameters:
name- the name of the counter.
-
updateHistogram
public void updateHistogram(java.lang.String name, int amount)Description copied from interface:MetricCollectorUpdate the Histogram with the given amount.- Parameters:
name- the name of the counter.amount- the amount to update.
-
-