aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2021-09-09 11:56:20 +0200
committerOla Aunrønning <olaa@verizonmedia.com>2021-09-09 11:56:20 +0200
commit63b42ada65ef4c9ca7903660c9ce265fadc67359 (patch)
tree50e35e98e1bbd05c285270b3fc5423ffb4d7588f /config-model/src/main/java/com
parent0bd1f4da69f10cfe5f4de2585a7973240e9b42f5 (diff)
Add vespa-cloud metric consumer
Diffstat (limited to 'config-model/src/main/java/com')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricsConsumer.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java3
4 files changed, 12 insertions, 2 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java
index b0ed04f3013..f7effbc3bc7 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java
@@ -3,6 +3,7 @@
package com.yahoo.vespa.model.admin.metricsproxy;
import ai.vespa.metricsproxy.core.ConsumersConfig.Consumer;
+import com.yahoo.config.provision.SystemName;
import com.yahoo.vespa.model.admin.monitoring.Metric;
import com.yahoo.vespa.model.admin.monitoring.MetricSet;
import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer;
@@ -24,7 +25,8 @@ class ConsumersConfigGenerator {
* @return a list of consumer builders (a mapping from consumer to its metrics)
*/
static List<Consumer.Builder> generateConsumers(MetricsConsumer defaultConsumer,
- Map<String, MetricsConsumer> userConsumers) {
+ Map<String, MetricsConsumer> userConsumers,
+ SystemName systemName) {
// Normally, the user given consumers should not contain VESPA_CONSUMER_ID,
// but it's allowed for some internally used applications.
var allConsumers = new LinkedHashMap<>(userConsumers);
@@ -32,6 +34,9 @@ class ConsumersConfigGenerator {
combineConsumers(defaultConsumer, allConsumers.get(MetricsConsumer.vespa.id())));
allConsumers.put(MetricsConsumer.autoscaling.id(), MetricsConsumer.autoscaling);
+ if (systemName.isPublic())
+ allConsumers.put(MetricsConsumer.vespaCloud.id(), MetricsConsumer.vespaCloud);
+
return allConsumers.values().stream()
.map(ConsumersConfigGenerator::toConsumerBuilder)
.collect(Collectors.toList());
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 e504bee0a30..0b2d0936235 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
@@ -158,7 +158,7 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
@Override
public void getConfig(ConsumersConfig.Builder builder) {
var amendedVespaConsumer = addMetrics(MetricsConsumer.vespa, getAdditionalDefaultMetrics().getMetrics());
- builder.consumer.addAll(generateConsumers(amendedVespaConsumer, getUserMetricsConsumers()));
+ builder.consumer.addAll(generateConsumers(amendedVespaConsumer, getUserMetricsConsumers(), getZone().system()));
builder.consumer.add(toConsumerBuilder(MetricsConsumer.defaultConsumer));
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricsConsumer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricsConsumer.java
index 6344e462e0f..b513c5d3021 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricsConsumer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricsConsumer.java
@@ -35,6 +35,8 @@ public class MetricsConsumer {
// Referenced from com.yahoo.vespa.hosted.provision.autoscale.NodeMetricsFetcher
public static final MetricsConsumer autoscaling =
consumer("autoscaling", autoscalingMetricSet);
+ public static final MetricsConsumer vespaCloud =
+ consumer("vespa-cloud", vespaMetricSet, systemMetricSet, networkMetricSet);
private final String id;
private final MetricSet metricSet;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java
index 3efc50a7445..ac56143732d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java
@@ -92,6 +92,9 @@ public class MetricsBuilder {
if (consumerId.equalsIgnoreCase(MetricsConsumer.autoscaling.id()))
throw new IllegalArgumentException("'" + MetricsConsumer.autoscaling.id() + " is not allowed as metrics consumer id (case is ignored.)");
+ if (consumerId.equalsIgnoreCase(MetricsConsumer.vespaCloud.id()))
+ throw new IllegalArgumentException("'" + MetricsConsumer.vespaCloud.id() + " is not allowed as metrics consumer id (case is ignored.)");
+
if (metrics.hasConsumerIgnoreCase(consumerId))
throw new IllegalArgumentException("'" + consumerId + "' is used as id for two metrics consumers (case is ignored.)");
}