Interface MetricsContext
-
- All Known Implementing Classes:
AbstractMetricsContext,GangliaContext,GangliaContext31,NullContext
@Private @Evolving public interface MetricsContextThe main interface to the metrics package.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_PERIODDefault period in seconds at which data is sent to the metrics system.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Stops monitoring and also frees any buffered data, returning this object to its initial state.MetricsRecordcreateRecord(java.lang.String recordName)Creates a new MetricsRecord instance with the givenrecordName.java.util.Map<java.lang.String,java.util.Collection<OutputRecord>>getAllRecords()Retrieves all the records managed by this MetricsContext.java.lang.StringgetContextName()Returns the context name.intgetPeriod()Returns the timer period.voidinit(java.lang.String contextName, ContextFactory factory)Initialize this context.booleanisMonitoring()Returns true if monitoring is currently in progress.voidregisterUpdater(Updater updater)Registers a callback to be called at regular time intervals, as determined by the implementation-class specific configuration.voidstartMonitoring()Starts or restarts monitoring, the emitting of metrics records as they are updated.voidstopMonitoring()Stops monitoring.voidunregisterUpdater(Updater updater)Removes a callback, if it exists.
-
-
-
Field Detail
-
DEFAULT_PERIOD
static final int DEFAULT_PERIOD
Default period in seconds at which data is sent to the metrics system.- See Also:
- Constant Field Values
-
-
Method Detail
-
init
void init(java.lang.String contextName, ContextFactory factory)Initialize this context.- Parameters:
contextName- The given name for this contextfactory- The creator of this context
-
getContextName
java.lang.String getContextName()
Returns the context name.- Returns:
- the context name
-
startMonitoring
void startMonitoring() throws java.io.IOExceptionStarts or restarts monitoring, the emitting of metrics records as they are updated.- Throws:
java.io.IOException
-
stopMonitoring
void stopMonitoring()
Stops monitoring. This does not free any data that the implementation may have buffered for sending at the next timer event. It is OK to callstartMonitoring()again after calling this.- See Also:
close()
-
isMonitoring
boolean isMonitoring()
Returns true if monitoring is currently in progress.
-
close
void close()
Stops monitoring and also frees any buffered data, returning this object to its initial state.
-
createRecord
MetricsRecord createRecord(java.lang.String recordName)
Creates a new MetricsRecord instance with the givenrecordName. Throws an exception if the metrics implementation is configured with a fixed set of record names andrecordNameis not in that set.- Parameters:
recordName- the name of the record- Throws:
MetricsException- if recordName conflicts with configuration data
-
registerUpdater
void registerUpdater(Updater updater)
Registers a callback to be called at regular time intervals, as determined by the implementation-class specific configuration.- Parameters:
updater- object to be run periodically; it should updated some metrics records and then return
-
unregisterUpdater
void unregisterUpdater(Updater updater)
Removes a callback, if it exists.- Parameters:
updater- object to be removed from the callback list
-
getPeriod
int getPeriod()
Returns the timer period.
-
getAllRecords
java.util.Map<java.lang.String,java.util.Collection<OutputRecord>> getAllRecords()
Retrieves all the records managed by this MetricsContext. Useful for monitoring systems that are polling-based.- Returns:
- A non-null map from all record names to the records managed.
-
-