Interface MetricsContext

All Known Implementing Classes:
AbstractMetricsContext, GangliaContext, GangliaContext31, NullContext

@Private @Evolving public interface MetricsContext
The main interface to the metrics package.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Default period in seconds at which data is sent to the metrics system.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Stops monitoring and also frees any buffered data, returning this object to its initial state.
    createRecord(String recordName)
    Creates a new MetricsRecord instance with the given recordName.
    Retrieves all the records managed by this MetricsContext.
    Returns the context name.
    int
    Returns the timer period.
    void
    init(String contextName, ContextFactory factory)
    Initialize this context.
    boolean
    Returns true if monitoring is currently in progress.
    void
    Registers a callback to be called at regular time intervals, as determined by the implementation-class specific configuration.
    void
    Starts or restarts monitoring, the emitting of metrics records as they are updated.
    void
    Stops monitoring.
    void
    Removes a callback, if it exists.
  • Field Details

    • DEFAULT_PERIOD

      static final int DEFAULT_PERIOD
      Default period in seconds at which data is sent to the metrics system.
      See Also:
  • Method Details

    • init

      void init(String contextName, ContextFactory factory)
      Initialize this context.
      Parameters:
      contextName - The given name for this context
      factory - The creator of this context
    • getContextName

      String getContextName()
      Returns the context name.
      Returns:
      the context name
    • startMonitoring

      void startMonitoring() throws IOException
      Starts or restarts monitoring, the emitting of metrics records as they are updated.
      Throws:
      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 call startMonitoring() again after calling this.
      See Also:
    • 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(String recordName)
      Creates a new MetricsRecord instance with the given recordName. Throws an exception if the metrics implementation is configured with a fixed set of record names and recordName is 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

      Map<String,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.