summaryrefslogtreecommitdiffstats
path: root/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricConsumerProviderProvider.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricConsumerProviderProvider.java
Publish
Diffstat (limited to 'container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricConsumerProviderProvider.java')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricConsumerProviderProvider.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricConsumerProviderProvider.java b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricConsumerProviderProvider.java
new file mode 100644
index 00000000000..930773e8546
--- /dev/null
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricConsumerProviderProvider.java
@@ -0,0 +1,36 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.container.jdisc.metric;
+
+import com.google.inject.Inject;
+import com.yahoo.component.provider.ComponentRegistry;
+import com.yahoo.container.di.componentgraph.Provider;
+import com.yahoo.container.jdisc.MetricConsumerFactory;
+import com.yahoo.container.jdisc.state.StateMonitor;
+import com.yahoo.metrics.MetricsPresentationConfig;
+
+/**
+ * A dependency injection-provider which providers the default metrics provider
+ * if no provider is set up explicitly in the application package.
+ * The purpose of this is to be a fallback if nothing is set up explicitly.
+ *
+ * @author bratseth
+ */
+public class MetricConsumerProviderProvider implements Provider<MetricConsumerProvider> {
+
+ private final MetricConsumerProvider provided;
+
+ @Inject
+ public MetricConsumerProviderProvider(ComponentRegistry<MetricConsumerFactory> factoryRegistry,
+ MetricsPresentationConfig presentationConfig,
+ StateMonitor stateMonitor) {
+ provided = new MetricConsumerProvider(factoryRegistry, presentationConfig, stateMonitor);
+ }
+
+ @Override
+ public MetricConsumerProvider get() { return provided; }
+
+ @Override
+ public void deconstruct() {
+ }
+
+}