summaryrefslogtreecommitdiffstats
path: root/config-model/src
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2019-06-01 01:56:51 +0200
committerGitHub <noreply@github.com>2019-06-01 01:56:51 +0200
commit9538c19b84ffcea70e7254855bd05ada1402a56f (patch)
tree0236577e6be63c38472ad375746755584a47daf4 /config-model/src
parent2a5e9424e9bd5ae160e1a38fd88efa9e3eeecc8a (diff)
parent984cd8c176501325b6083b69fcba4ad01e407fde (diff)
Merge pull request #9637 from vespa-engine/gjoranv/add-http-metrics-handler
Gjoranv/add http metrics handler
Diffstat (limited to 'config-model/src')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
index dccd19e7c63..47c6b2dbb52 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
@@ -9,6 +9,7 @@ import ai.vespa.metricsproxy.core.MetricsConsumers;
import ai.vespa.metricsproxy.core.MetricsManager;
import ai.vespa.metricsproxy.core.MonitoringConfig;
import ai.vespa.metricsproxy.core.VespaMetrics;
+import ai.vespa.metricsproxy.http.GenericMetricsHandler;
import ai.vespa.metricsproxy.metric.ExternalMetrics;
import ai.vespa.metricsproxy.metric.dimensions.ApplicationDimensions;
import ai.vespa.metricsproxy.metric.dimensions.ApplicationDimensionsConfig;
@@ -20,6 +21,7 @@ import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.config.model.producer.AbstractConfigProducerRoot;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Zone;
+import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.admin.Admin;
@@ -27,6 +29,7 @@ import com.yahoo.vespa.model.admin.monitoring.MetricSet;
import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer;
import com.yahoo.vespa.model.admin.monitoring.Monitoring;
import com.yahoo.vespa.model.container.ContainerCluster;
+import com.yahoo.vespa.model.container.component.Handler;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -66,6 +69,8 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
static final Path METRICS_PROXY_BUNDLE_FILE = absoluteBundlePath((Paths.get(METRICS_PROXY_NAME + JAR_WITH_DEPS.suffix)));
static final String METRICS_PROXY_BUNDLE_NAME = "com.yahoo.vespa." + METRICS_PROXY_NAME;
+ private static final String METRICS_HANDLER_BINDING = "/metrics/v1/values";
+
static final class AppDimensionNames {
static final String ZONE = "zone";
static final String APPLICATION_ID = "applicationId"; // tenant.app.instance
@@ -90,6 +95,7 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
addPlatformBundle(METRICS_PROXY_BUNDLE_FILE);
addClusterComponents();
+ addGenericMetricsHandler();
}
private void addClusterComponents() {
@@ -103,6 +109,14 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
addMetricsProxyComponent(VespaMetrics.class);
}
+ private void addGenericMetricsHandler() {
+ Handler<AbstractConfigProducer<?>> metricsHandler = new Handler<>(
+ new ComponentModel(GenericMetricsHandler.class.getName(), null, METRICS_PROXY_BUNDLE_NAME, null));
+ metricsHandler.addServerBindings("http://*" + METRICS_HANDLER_BINDING,
+ "http://*" + METRICS_HANDLER_BINDING + "/*");
+ addComponent(metricsHandler);
+ }
+
@Override
protected void doPrepare(DeployState deployState) { }