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 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 Summary
Modifier and TypeMethodDescriptionvoid
add
(String key, Number val, Metric.Context ctx) Consume a call toMetric.add(String, Number, 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 Details
-
set
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
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
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
-