Interface MetricConsumer


public interface MetricConsumer

This interface defines the consumer counterpart of the Metric interface. All Metric objects contain their own thread local instance of this interface, so most implementations will require a registry of sorts to manage the aggregation of state across MetricConsumers.

An Application needs to bind a Provider of this interface to an implementation, or else all calls to the Metric objects become no-ops. An implementation will look similar to:

 private final MyMetricRegistry myMetricRegistry = new MyMetricRegistry();
 void createContainer() {
     ContainerBuilder builder = containerActivator.newContainerBuilder();
     builder.guice().install(new MyGuiceModule());
     (...)
 }
 class MyGuiceModule extends com.google.inject.AbstractModule {
     void configure() {
         bind(MetricConsumer.class).toProvider(myMetricRegistry);
         (...)
     }
 }
 class MyMetricRegistry implements com.google.inject.Provider<MetricConsumer> {
     (...)
 }
 
Author:
Simon Thoresen Hult
  • Method Details

    • set

      void set(String key, Number val, Metric.Context ctx)
      Consume a call to Metric.set(String, Number, Metric.Context).
      Parameters:
      key - the name of the metric to modify
      val - the value to assign to the named metric
      ctx - the context to further describe this entry
    • add

      void add(String key, Number val, Metric.Context ctx)
      Consume a call to Metric.add(String, Number, Metric.Context).
      Parameters:
      key - the name of the metric to modify
      val - the value to add to the named metric
      ctx - the context to further describe this entry
    • createContext

      Metric.Context createContext(Map<String,?> properties)
      Creates a Metric.Context object that encapsulates the given properties. The returned Context object will be passed along every future call to set(String, Number, Metric.Context) and add(String, Number, Metric.Context) where the properties match those given here.
      Parameters:
      properties - the properties to incorporate in the context
      Returns:
      the created context