aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2019-06-24 14:29:08 +0200
committerGitHub <noreply@github.com>2019-06-24 14:29:08 +0200
commit5f7c02da995f865548c9e71da4324f56b747ef42 (patch)
treed0111d9aeb8f848bcba1b32cf19ca00a1766430b /config-model
parentd3fc7d9efbf656ec9a5623084fc91be0c79789e8 (diff)
Revert "Gjoranv/add default public metrics consumer"
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicConsumer.java32
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicMetrics.java69
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/SystemMetrics.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricsConsumer.java14
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/PredefinedMetricSets.java9
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java5
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java81
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java13
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java33
12 files changed, 62 insertions, 206 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 b2ab7e19f85..29d1b557c49 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
@@ -66,7 +66,7 @@ class ConsumersConfigGenerator {
return original != null ? newMetric.addDimensionsFrom(original) : newMetric;
}
- static Consumer.Builder toConsumerBuilder(MetricsConsumer consumer) {
+ private static Consumer.Builder toConsumerBuilder(MetricsConsumer consumer) {
Consumer.Builder builder = new Consumer.Builder().name(consumer.getId());
consumer.getMetrics().values().forEach(metric -> builder.metric(toConsumerMetricBuilder(metric)));
return builder;
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 f290911c6bd..5a41696c6f2 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
@@ -41,14 +41,12 @@ import java.util.logging.Logger;
import static com.yahoo.vespa.model.admin.metricsproxy.ConsumersConfigGenerator.addMetrics;
import static com.yahoo.vespa.model.admin.metricsproxy.ConsumersConfigGenerator.generateConsumers;
-import static com.yahoo.vespa.model.admin.metricsproxy.ConsumersConfigGenerator.toConsumerBuilder;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.APPLICATION;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.APPLICATION_ID;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.INSTANCE;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.LEGACY_APPLICATION;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.TENANT;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.ZONE;
-import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicConsumer.getDefaultPublicConsumer;
import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.getVespaMetricsConsumer;
import static com.yahoo.vespa.model.admin.monitoring.MetricSet.emptyMetricSet;
import static com.yahoo.vespa.model.container.xml.BundleMapper.JarSuffix.JAR_WITH_DEPS;
@@ -130,10 +128,8 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
@Override
public void getConfig(ConsumersConfig.Builder builder) {
- var amendedVespaConsumer = addMetrics(getVespaMetricsConsumer(), getAdditionalDefaultMetrics().getMetrics());
- builder.consumer.addAll(generateConsumers(amendedVespaConsumer, getUserMetricsConsumers()));
-
- if (! isHostedVespa()) builder.consumer.add(toConsumerBuilder(getDefaultPublicConsumer()));
+ var amendedDefaultConsumer = addMetrics(getVespaMetricsConsumer(), getAdditionalDefaultMetrics().getMetrics());
+ builder.consumer.addAll(generateConsumers(amendedDefaultConsumer, getUserMetricsConsumers()));
}
@Override
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicConsumer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicConsumer.java
deleted file mode 100644
index fbd1c7455dd..00000000000
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicConsumer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
- */
-
-package com.yahoo.vespa.model.admin.monitoring;
-
-import ai.vespa.metricsproxy.http.GenericMetricsHandler;
-import com.google.common.collect.ImmutableList;
-
-import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicMetrics.defaultPublicMetricSet;
-import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet;
-import static com.yahoo.vespa.model.admin.monitoring.SystemMetrics.systemMetricSet;
-import static java.util.Collections.emptyList;
-
-/**
- * @author gjoranv
- */
-public class DefaultPublicConsumer {
-
- public static final String DEFAULT_PUBLIC_CONSUMER_ID = GenericMetricsHandler.DEFAULT_PUBLIC_CONSUMER_ID.id;
-
- private static final MetricSet publicConsumerMetrics = new MetricSet("public-consumer-metrics",
- emptyList(),
- ImmutableList.of(defaultPublicMetricSet,
- defaultVespaMetricSet,
- systemMetricSet));
-
- public static MetricsConsumer getDefaultPublicConsumer() {
- return new MetricsConsumer(DEFAULT_PUBLIC_CONSUMER_ID, publicConsumerMetrics);
- }
-
-}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicMetrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicMetrics.java
deleted file mode 100644
index dc250179460..00000000000
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicMetrics.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
- */
-
-package com.yahoo.vespa.model.admin.monitoring;
-
-
-import com.google.common.collect.ImmutableSet;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import static java.util.Collections.emptyList;
-
-/**
- * TODO: Add content metrics.
- *
- * @author gjoranv
- */
-public class DefaultPublicMetrics {
-
- public static MetricSet defaultPublicMetricSet = createMetricSet();
-
- private static MetricSet createMetricSet() {
- return new MetricSet("public",
- getAllMetrics(),
- emptyList());
- }
-
- private static Set<Metric> getAllMetrics() {
- return ImmutableSet.<Metric>builder()
- .addAll(getContainerMetrics())
- .addAll(getQrserverMetrics())
- .build();
- }
-
- private static Set<Metric> getContainerMetrics() {
- Set<Metric> metrics = new LinkedHashSet<>();
-
- metrics.add(new Metric("http.status.1xx.rate"));
- metrics.add(new Metric("http.status.2xx.rate"));
- metrics.add(new Metric("http.status.3xx.rate"));
- metrics.add(new Metric("http.status.4xx.rate"));
- metrics.add(new Metric("http.status.5xx.rate"));
- metrics.add(new Metric("jdisc.gc.ms.average"));
- metrics.add(new Metric("mem.heap.free.average"));
-
- return metrics;
- }
-
- private static Set<Metric> getQrserverMetrics() {
- Set<Metric> metrics = new LinkedHashSet<>();
-
- metrics.add(new Metric("queries.rate"));
- metrics.add(new Metric("query_latency.average"));
- metrics.add(new Metric("query_latency.95percentile"));
- metrics.add(new Metric("query_latency.99percentile"));
- metrics.add(new Metric("hits_per_query.average"));
- metrics.add(new Metric("totalhits_per_query.average"));
- metrics.add(new Metric("degraded_queries.rate"));
- metrics.add(new Metric("failed_queries.rate"));
- metrics.add(new Metric("serverActiveThreads.average"));
-
- return metrics;
- }
-
- private DefaultPublicMetrics() { }
-
-}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/SystemMetrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/SystemMetrics.java
index cce2891df76..b49fd36da78 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/SystemMetrics.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/SystemMetrics.java
@@ -8,6 +8,7 @@ import java.util.Set;
/**
* @author gjoranv
*/
+@SuppressWarnings("UnusedDeclaration") // Used by model amenders
public class SystemMetrics {
public static final String CPU_UTIL = "cpu.util";
public static final String CPU_SYS_UTIL = "cpu.sys.util";
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
index ca29e348094..0749df8ddf2 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
@@ -13,6 +13,7 @@ import static java.util.Collections.singleton;
*
* @author gjoranv
*/
+@SuppressWarnings("UnusedDeclaration") // Used by model amenders
public class VespaMetricSet {
public static final MetricSet vespaMetricSet = new MetricSet("vespa",
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricsConsumer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricsConsumer.java
index 9f3bfdc8ae8..81e9cfcd6a0 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricsConsumer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricsConsumer.java
@@ -10,7 +10,7 @@ import static com.yahoo.vespa.model.admin.monitoring.VespaMetricSet.vespaMetricS
import static java.util.Collections.emptyList;
/**
- * This class sets up the 'Vespa' metrics consumer, which is mainly used for Yamas in hosted Vespa.
+ * This class sets up the 'Vespa' metrics consumer.
*
* @author trygve
* @author gjoranv
@@ -19,14 +19,14 @@ public class VespaMetricsConsumer {
public static final String VESPA_CONSUMER_ID = VespaMetrics.VESPA_CONSUMER_ID.id;
- private static final MetricSet vespaConsumerMetrics = new MetricSet("vespa-consumer-metrics",
- emptyList(),
- ImmutableList.of(vespaMetricSet,
- systemMetricSet,
- networkMetricSet));
+ private static final MetricSet defaultConsumerMetrics = new MetricSet("vespa-consumer-metrics",
+ emptyList(),
+ ImmutableList.of(vespaMetricSet,
+ systemMetricSet,
+ networkMetricSet));
public static MetricsConsumer getVespaMetricsConsumer() {
- return new MetricsConsumer(VESPA_CONSUMER_ID, vespaConsumerMetrics);
+ return new MetricsConsumer(VESPA_CONSUMER_ID, defaultConsumerMetrics);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/PredefinedMetricSets.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/PredefinedMetricSets.java
index 694108d4bb1..4638353f39f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/PredefinedMetricSets.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/PredefinedMetricSets.java
@@ -7,7 +7,6 @@ import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
-import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicMetrics.defaultPublicMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.NetworkMetrics.networkMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.SystemMetrics.systemMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet;
@@ -21,7 +20,6 @@ import static com.yahoo.vespa.model.admin.monitoring.VespaMetricSet.vespaMetricS
public class PredefinedMetricSets {
public static final Map<String, MetricSet> predefinedMetricSets = toMapById(
- defaultPublicMetricSet,
defaultVespaMetricSet,
vespaMetricSet,
systemMetricSet,
@@ -30,11 +28,8 @@ public class PredefinedMetricSets {
private static Map<String, MetricSet> toMapById(MetricSet... metricSets) {
Map<String, MetricSet> availableMetricSets = new LinkedHashMap<>();
- for (MetricSet metricSet : metricSets) {
- var existing = availableMetricSets.put(metricSet.getId(), metricSet);
- if (existing != null)
- throw new IllegalArgumentException("There are two predefined metric sets with id " + existing.getId());
- }
+ for (MetricSet metricSet : metricSets)
+ availableMetricSets.put(metricSet.getId(), metricSet);
return Collections.unmodifiableMap(availableMetricSets);
}
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 b13fa4917e4..0ad0d57c1c3 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
@@ -14,7 +14,6 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicConsumer.DEFAULT_PUBLIC_CONSUMER_ID;
import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.VESPA_CONSUMER_ID;
import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.SystemMetrics.systemMetricSet;
@@ -78,10 +77,6 @@ public class MetricsBuilder {
private void throwIfIllegalConsumerId(Metrics metrics, String consumerId) {
if (consumerId.equalsIgnoreCase(VESPA_CONSUMER_ID) && applicationType != ApplicationType.HOSTED_INFRASTRUCTURE)
throw new IllegalArgumentException("'Vespa' is not allowed as metrics consumer id (case is ignored.)");
-
- if (consumerId.equalsIgnoreCase(DEFAULT_PUBLIC_CONSUMER_ID))
- throw new IllegalArgumentException("'" + DEFAULT_PUBLIC_CONSUMER_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/MetricsProxyContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
index 78c1c5931a2..ff38a184eec 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
@@ -25,17 +25,14 @@ import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.C
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.MY_APPLICATION;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.MY_INSTANCE;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.MY_TENANT;
-import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.hosted;
-import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.self_hosted;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.checkMetric;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.consumersConfigFromModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.consumersConfigFromXml;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getApplicationDimensionsConfig;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getCustomConsumer;
+import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getHostedModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getQrStartConfig;
-import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicConsumer.DEFAULT_PUBLIC_CONSUMER_ID;
-import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicMetrics.defaultPublicMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.VESPA_CONSUMER_ID;
import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.NetworkMetrics.networkMetricSet;
@@ -57,14 +54,14 @@ public class MetricsProxyContainerClusterTest {
private static int numVespaMetrics = vespaMetricSet.getMetrics().size();
private static int numSystemMetrics = systemMetricSet.getMetrics().size();
private static int numNetworkMetrics = networkMetricSet.getMetrics().size();
- private static int numMetricsForVespaConsumer = numVespaMetrics + numSystemMetrics + numNetworkMetrics;
+ private static int numMetricsForDefaultConsumer = numVespaMetrics + numSystemMetrics + numNetworkMetrics;
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test
public void metrics_proxy_bundle_is_included_in_bundles_config() {
- VespaModel model = getModel(servicesWithAdminOnly(), self_hosted);
+ VespaModel model = getModel(servicesWithAdminOnly());
var builder = new BundlesConfig.Builder();
model.getConfig(builder, CLUSTER_CONFIG_ID);
BundlesConfig config = builder.build();
@@ -74,7 +71,7 @@ public class MetricsProxyContainerClusterTest {
@Test
public void cluster_is_prepared_so_that_application_metadata_config_is_produced() {
- VespaModel model = getModel(servicesWithAdminOnly(), self_hosted);
+ VespaModel model = getModel(servicesWithAdminOnly());
var builder = new ApplicationMetadataConfig.Builder();
model.getConfig(builder, CLUSTER_CONFIG_ID);
ApplicationMetadataConfig config = builder.build();
@@ -85,44 +82,26 @@ public class MetricsProxyContainerClusterTest {
@Test
public void verbose_gc_logging_is_disabled() {
- VespaModel model = getModel(servicesWithAdminOnly(), self_hosted);
+ VespaModel model = getModel(servicesWithAdminOnly());
QrStartConfig config = getQrStartConfig(model);
assertFalse(config.jvm().verbosegc());
}
-
- @Test
- public void default_public_consumer_is_set_up_for_self_hosted() {
- ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), self_hosted);
- assertEquals(2, config.consumer().size());
- assertEquals(config.consumer(1).name(), DEFAULT_PUBLIC_CONSUMER_ID);
-
- int numMetricsForPublicDefaultConsumer = defaultPublicMetricSet.getMetrics().size() + numDefaultVespaMetrics + numSystemMetrics;
- assertEquals(numMetricsForPublicDefaultConsumer, config.consumer(1).metric().size());
- }
-
@Test
- public void default_public_consumer_is_not_set_up_for_hosted() {
- ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), hosted);
- assertEquals(1, config.consumer().size());
+ public void default_consumer_is_always_present_and_has_all_vespa_metrics_and_all_system_metrics() {
+ ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly());
assertEquals(config.consumer(0).name(), VESPA_CONSUMER_ID);
+ assertEquals(numMetricsForDefaultConsumer, config.consumer(0).metric().size());
}
@Test
- public void vespa_consumer_is_always_present_and_has_all_vespa_metrics_and_all_system_metrics() {
- ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), self_hosted);
- assertEquals(config.consumer(0).name(), VESPA_CONSUMER_ID);
- assertEquals(numMetricsForVespaConsumer, config.consumer(0).metric().size());
- }
-
- @Test
- public void vespa_consumer_can_be_amended_via_admin_object() {
- VespaModel model = getModel(servicesWithAdminOnly(), self_hosted);
+ public void default_consumer_can_be_amended_via_admin_object() {
+ VespaModel model = getModel(servicesWithAdminOnly());
var additionalMetric = new Metric("additional-metric");
model.getAdmin().setAdditionalDefaultMetrics(new MetricSet("amender-metrics", singleton(additionalMetric)));
ConsumersConfig config = consumersConfigFromModel(model);
- assertEquals(numMetricsForVespaConsumer + 1, config.consumer(0).metric().size());
+ assertEquals(numMetricsForDefaultConsumer + 1, config.consumer(0).metric().size());
ConsumersConfig.Consumer vespaConsumer = config.consumer(0);
assertTrue("Did not contain additional metric", checkMetric(vespaConsumer, additionalMetric));
@@ -130,28 +109,19 @@ public class MetricsProxyContainerClusterTest {
@Test
public void vespa_is_a_reserved_consumer_id() {
- assertReservedConsumerId("Vespa");
- }
-
- @Test
- public void public_is_a_reserved_consumer_id() {
- assertReservedConsumerId("default");
- }
-
- private void assertReservedConsumerId(String consumerId) {
String services = String.join("\n",
- "<services>",
- " <admin version='2.0'>",
- " <adminserver hostalias='node1'/>",
- " <metrics>",
- " <consumer id='" + consumerId + "'/>",
- " </metrics>",
- " </admin>",
- "</services>"
+ "<services>",
+ " <admin version='2.0'>",
+ " <adminserver hostalias='node1'/>",
+ " <metrics>",
+ " <consumer id='vespa'/>",
+ " </metrics>",
+ " </admin>",
+ "</services>"
);
thrown.expect(IllegalArgumentException.class);
- thrown.expectMessage("'" + consumerId + "' is not allowed as metrics consumer id");
- consumersConfigFromXml(services, self_hosted);
+ thrown.expectMessage("'Vespa' is not allowed as metrics consumer id");
+ consumersConfigFromXml(services);
}
@Test
@@ -168,13 +138,12 @@ public class MetricsProxyContainerClusterTest {
" </admin>",
"</services>"
);
- VespaModel hostedModel = getModel(services, hosted);
- ConsumersConfig config = consumersConfigFromModel(hostedModel);
+ ConsumersConfig config = consumersConfigFromXml(services);
assertEquals(1, config.consumer().size());
// All default metrics are retained
ConsumersConfig.Consumer vespaConsumer = config.consumer(0);
- assertEquals(numMetricsForVespaConsumer + 1, vespaConsumer.metric().size());
+ assertEquals(numMetricsForDefaultConsumer + 1, vespaConsumer.metric().size());
Metric customMetric1 = new Metric("custom.metric1");
assertTrue("Did not contain metric: " + customMetric1, checkMetric(vespaConsumer, customMetric1));
@@ -195,7 +164,7 @@ public class MetricsProxyContainerClusterTest {
);
thrown.expect(IllegalArgumentException.class);
thrown.expectMessage("'a' is used as id for two metrics consumers");
- consumersConfigFromXml(services, self_hosted);
+ consumersConfigFromXml(services);
}
@Test
@@ -247,7 +216,7 @@ public class MetricsProxyContainerClusterTest {
@Test
public void hosted_application_propagates_application_dimensions() {
- VespaModel hostedModel = getModel(servicesWithAdminOnly(), hosted);
+ VespaModel hostedModel = getHostedModel(servicesWithAdminOnly());
ApplicationDimensionsConfig config = getApplicationDimensionsConfig(hostedModel);
assertEquals(zoneString(Zone.defaultZone()), config.dimensions(AppDimensionNames.ZONE));
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
index 5d3bcd58f3d..f755871ac4b 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java
@@ -11,8 +11,7 @@ import org.junit.Test;
import static com.yahoo.config.model.api.container.ContainerServiceType.METRICS_PROXY_CONTAINER;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.CLUSTER_CONFIG_ID;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.CONTAINER_CONFIG_ID;
-import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.hosted;
-import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.self_hosted;
+import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getHostedModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getNodeDimensionsConfig;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getRpcConnectorConfig;
@@ -50,7 +49,7 @@ public class MetricsProxyContainerTest {
@Test
public void metrics_proxy_requires_less_memory_than_other_containers() {
- VespaModel model = getModel(servicesWithContent(), self_hosted);
+ VespaModel model = getModel(servicesWithContent());
MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID);
assertThat(container.getStartupCommand(), containsString("-Xms32m"));
assertThat(container.getStartupCommand(), containsString("-Xmx512m"));
@@ -58,7 +57,7 @@ public class MetricsProxyContainerTest {
@Test
public void http_server_is_running_on_expected_port() {
- VespaModel model = getModel(servicesWithContent(), self_hosted);
+ VespaModel model = getModel(servicesWithContent());
MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID);
assertEquals(19092, container.getSearchPort());
assertEquals(19092, container.getHealthPort());
@@ -70,7 +69,7 @@ public class MetricsProxyContainerTest {
@Test
public void metrics_rpc_server_is_running_on_expected_port() {
- VespaModel model = getModel(servicesWithContent(), self_hosted);
+ VespaModel model = getModel(servicesWithContent());
MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID);
int offset = container.metricsRpcPortOffset();
@@ -86,7 +85,7 @@ public class MetricsProxyContainerTest {
@Test
public void admin_rpc_server_is_running() {
- VespaModel model = getModel(servicesWithContent(), self_hosted);
+ VespaModel model = getModel(servicesWithContent());
MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID);
int offset = container.metricsRpcPortOffset() - 1;
@@ -100,7 +99,7 @@ public class MetricsProxyContainerTest {
@Test
public void hosted_application_propagates_node_dimensions() {
String services = servicesWithContent();
- VespaModel hostedModel = getModel(services, hosted);
+ VespaModel hostedModel = getHostedModel(services);
assertEquals(1, hostedModel.getHosts().size());
String configId = CLUSTER_CONFIG_ID + "/" + hostedModel.getHosts().iterator().next().getHostname();
NodeDimensionsConfig config = getNodeDimensionsConfig(hostedModel, configId);
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java
index ad6a7de935b..59b7110e96e 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java
@@ -16,9 +16,6 @@ import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.admin.monitoring.Metric;
import com.yahoo.vespa.model.test.VespaModelTester;
-import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.hosted;
-import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.self_hosted;
-import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicConsumer.DEFAULT_PUBLIC_CONSUMER_ID;
import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.VESPA_CONSUMER_ID;
import static org.junit.Assert.assertEquals;
@@ -36,17 +33,20 @@ class MetricsProxyModelTester {
// Used for all configs that are produced by the container, not the cluster.
static final String CONTAINER_CONFIG_ID = CLUSTER_CONFIG_ID + "/localhost";
- enum TestMode {
- self_hosted,
- hosted
+ static VespaModel getModel(String servicesXml) {
+ var numberOfHosts = 1;
+ var tester = new VespaModelTester();
+ tester.addHosts(numberOfHosts);
+ tester.setHosted(false);
+ return tester.createModel(servicesXml, true);
}
- static VespaModel getModel(String servicesXml, TestMode testMode) {
- var numberOfHosts = testMode == hosted ? 2 : 1;
+ static VespaModel getHostedModel(String servicesXml) {
+ var numberOfHosts = 2;
var tester = new VespaModelTester();
tester.addHosts(numberOfHosts);
- tester.setHosted(testMode == hosted);
- if (testMode == hosted) tester.setApplicationId(MY_TENANT, MY_APPLICATION, MY_INSTANCE);
+ tester.setHosted(true);
+ tester.setApplicationId(MY_TENANT, MY_APPLICATION, MY_INSTANCE);
return tester.createModel(servicesXml, true);
}
@@ -59,16 +59,17 @@ class MetricsProxyModelTester {
}
static ConsumersConfig.Consumer getCustomConsumer(String servicesXml) {
- ConsumersConfig config = consumersConfigFromXml(servicesXml, self_hosted);
+ ConsumersConfig config = consumersConfigFromXml(servicesXml);
+ assertEquals(2, config.consumer().size());
for (ConsumersConfig.Consumer consumer : config.consumer()) {
- if (! consumer.name().equals(VESPA_CONSUMER_ID) && ! consumer.name().equals(DEFAULT_PUBLIC_CONSUMER_ID))
+ if (! consumer.name().equals(VESPA_CONSUMER_ID))
return consumer;
}
- throw new RuntimeException("Custom consumer not found!");
+ throw new RuntimeException("Two consumers with the reserved id - this cannot happen.");
}
- static ConsumersConfig consumersConfigFromXml(String servicesXml, TestMode testMode) {
- return consumersConfigFromModel(getModel(servicesXml, testMode));
+ static ConsumersConfig consumersConfigFromXml(String servicesXml) {
+ return consumersConfigFromModel(getModel(servicesXml));
}
static ConsumersConfig consumersConfigFromModel(VespaModel model) {
@@ -88,7 +89,7 @@ class MetricsProxyModelTester {
}
static VespaServicesConfig getVespaServicesConfig(String servicesXml) {
- VespaModel model = getModel(servicesXml, self_hosted);
+ VespaModel model = getModel(servicesXml);
return new VespaServicesConfig((VespaServicesConfig.Builder) model.getConfig(new VespaServicesConfig.Builder(), CONTAINER_CONFIG_ID));
}