summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-09-30 11:05:23 +0200
committerJon Bratseth <bratseth@gmail.com>2020-09-30 11:05:23 +0200
commitdcba69ba5479e8ffba6cd502c8831d9a8f7f64b5 (patch)
treec7c6ec8612fd4e6a2387fa8ccaf59d92ab752c56 /config-model
parent628a9a9dd57d9eadd3ad786c5cde40ccfec1ba63 (diff)
Add the austoscaling consumer by default
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricsConsumer.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsConsumersTest.java16
4 files changed, 13 insertions, 8 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 2c039118cb9..b0ed04f3013 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
@@ -30,6 +30,7 @@ class ConsumersConfigGenerator {
var allConsumers = new LinkedHashMap<>(userConsumers);
allConsumers.put(MetricsConsumer.vespa.id(),
combineConsumers(defaultConsumer, allConsumers.get(MetricsConsumer.vespa.id())));
+ allConsumers.put(MetricsConsumer.autoscaling.id(), MetricsConsumer.autoscaling);
return allConsumers.values().stream()
.map(ConsumersConfigGenerator::toConsumerBuilder)
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 698b01c306a..6344e462e0f 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
@@ -27,6 +27,7 @@ import static java.util.Collections.unmodifiableList;
public class MetricsConsumer {
// Pre-defined consumers
+ // See also ConsumersConfigGenerator and MetricsBuilder where these must be enumerated
public static final MetricsConsumer vespa =
consumer(VespaMetrics.vespaMetricsConsumerId.id, vespaMetricSet, systemMetricSet, networkMetricSet);
public static final MetricsConsumer defaultConsumer =
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 919830d912f..3efc50a7445 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
@@ -89,6 +89,9 @@ public class MetricsBuilder {
if (consumerId.equalsIgnoreCase(MetricsConsumer.defaultConsumer.id()))
throw new IllegalArgumentException("'" + MetricsConsumer.defaultConsumer.id() + "' is not allowed as metrics consumer id (case is ignored.)");
+ if (consumerId.equalsIgnoreCase(MetricsConsumer.autoscaling.id()))
+ throw new IllegalArgumentException("'" + MetricsConsumer.autoscaling.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.)");
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsConsumersTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsConsumersTest.java
index 36eb30073b3..d185362d362 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsConsumersTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsConsumersTest.java
@@ -46,19 +46,19 @@ public class MetricsConsumersTest {
@Test
public void default_public_consumer_is_set_up_for_self_hosted() {
ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), self_hosted);
- assertEquals(2, config.consumer().size());
- assertEquals(MetricsConsumer.defaultConsumer.id(), config.consumer(1).name());
-
+ assertEquals(3, config.consumer().size());
+ assertEquals(MetricsConsumer.defaultConsumer.id(), config.consumer(2).name());
int numMetricsForPublicDefaultConsumer = defaultMetricSet.getMetrics().size() + numSystemMetrics;
- assertEquals(numMetricsForPublicDefaultConsumer, config.consumer(1).metric().size());
+ assertEquals(numMetricsForPublicDefaultConsumer, config.consumer(2).metric().size());
}
@Test
- public void vespa_consumer_and_default_public_consumer_is_set_up_for_hosted() {
+ public void consumers_are_set_up_for_hosted() {
ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), hosted);
- assertEquals(2, config.consumer().size());
+ assertEquals(3, config.consumer().size());
assertEquals(MetricsConsumer.vespa.id(), config.consumer(0).name());
- assertEquals(MetricsConsumer.defaultConsumer.id(), config.consumer(1).name());
+ assertEquals(MetricsConsumer.autoscaling.id(), config.consumer(1).name());
+ assertEquals(MetricsConsumer.defaultConsumer.id(), config.consumer(2).name());
}
@Test
@@ -123,7 +123,7 @@ public class MetricsConsumersTest {
);
VespaModel hostedModel = getModel(services, hosted);
ConsumersConfig config = consumersConfigFromModel(hostedModel);
- assertEquals(2, config.consumer().size());
+ assertEquals(3, config.consumer().size());
// All default metrics are retained
ConsumersConfig.Consumer vespaConsumer = config.consumer(0);