Package com.yahoo.jdisc.application
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 aProvider
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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
add(String key, Number val, Metric.Context ctx)
Consume a call toMetric.add(String, Number, Metric.Context)
.Metric.Context
createContext(Map<String,?> properties)
Creates aMetric.Context
object that encapsulates the given properties.void
set(String key, Number val, Metric.Context ctx)
Consume a call toMetric.set(String, Number, Metric.Context)
.
-
-
-
Method Detail
-
set
void set(String key, Number val, Metric.Context ctx)
Consume a call toMetric.set(String, Number, Metric.Context)
.- Parameters:
key
- the name of the metric to modifyval
- the value to assign to the named metricctx
- the context to further describe this entry
-
add
void add(String key, Number val, Metric.Context ctx)
Consume a call toMetric.add(String, Number, Metric.Context)
.- Parameters:
key
- the name of the metric to modifyval
- the value to add to the named metricctx
- the context to further describe this entry
-
createContext
Metric.Context createContext(Map<String,?> properties)
Creates aMetric.Context
object that encapsulates the given properties. The returned Context object will be passed along every future call toset(String, Number, Metric.Context)
andadd(String, Number, Metric.Context)
where the properties match those given here.- Parameters:
properties
- the properties to incorporate in the context- Returns:
- the created context
-
-