summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2020-09-18 14:53:29 +0200
committerGitHub <noreply@github.com>2020-09-18 14:53:29 +0200
commit42adcf6286491f57d6fa4ea087c760d6a8f84d26 (patch)
tree8de34b1fd94b0493ba8a6ddc96c4bdcfa345c8dd
parentbf3ca4359b94aff539fc79b80b4caac66225a028 (diff)
parent00704b6e5506a1b422ba8b1c89897f0c867523f4 (diff)
Merge pull request #14447 from vespa-engine/bratseth/autoscaling-metric-set
Bratseth/autoscaling metric set
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java26
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java10
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java26
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java (renamed from config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicMetrics.java)11
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicConsumer.java29
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricSet.java14
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricsConsumer.java38
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricsConsumer.java32
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/PredefinedMetricSets.java12
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java7
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java2
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsConsumersTest.java17
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java6
-rw-r--r--config/src/main/java/com/yahoo/vespa/config/ConfigPayload.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java16
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java10
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/ConfigResponseFactory.java7
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java4
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java12
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java6
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java5
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java4
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java4
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/ServiceHealthGatherer.java3
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/TestUtil.java1
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/core/MetricsManagerTest.java4
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/HttpHandlerTestBase.java4
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java14
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/NodeMetricsClientTest.java18
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java10
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/IntegrationTester.java4
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/RpcMetricsTest.java6
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcher.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcherTest.java4
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java2
40 files changed, 188 insertions, 204 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
index 1b5be1c2f97..3f432620b90 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
@@ -31,7 +31,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Optional;
-import static com.yahoo.vespa.model.admin.monitoring.MetricSet.emptyMetricSet;
+import static com.yahoo.vespa.model.admin.monitoring.MetricSet.empty;
/**
* This is the admin pseudo-plugin of the Vespa model, responsible for
@@ -49,7 +49,7 @@ public class Admin extends AbstractConfigProducer implements Serializable {
private final Metrics metrics;
private MetricsProxyContainerCluster metricsProxyCluster;
- private MetricSet additionalDefaultMetrics = emptyMetricSet();
+ private MetricSet additionalDefaultMetrics = empty();
private final List<Slobrok> slobroks = new ArrayList<>();
private Configserver defaultConfigserver;
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 3f9edae10c0..2c039118cb9 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
@@ -12,8 +12,6 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.VESPA_CONSUMER_ID;
-
/**
* Helper class to generate config for metrics consumers.
*
@@ -22,14 +20,16 @@ import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.VESPA_
class ConsumersConfigGenerator {
/**
- * @param userConsumers The consumers set up by the user in services.xml
- * @return A list of consumer builders (a mapping from consumer to its metrics)
+ * @param userConsumers the consumers set up by the user in services.xml
+ * @return a list of consumer builders (a mapping from consumer to its metrics)
*/
static List<Consumer.Builder> generateConsumers(MetricsConsumer defaultConsumer,
Map<String, MetricsConsumer> userConsumers) {
- // Normally, the user given consumers should not contain VESPA_CONSUMER_ID, but it's allowed for some internally used applications.
+ // 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);
- allConsumers.put(VESPA_CONSUMER_ID, combineConsumers(defaultConsumer, allConsumers.get(VESPA_CONSUMER_ID)));
+ allConsumers.put(MetricsConsumer.vespa.id(),
+ combineConsumers(defaultConsumer, allConsumers.get(MetricsConsumer.vespa.id())));
return allConsumers.values().stream()
.map(ConsumersConfigGenerator::toConsumerBuilder)
@@ -45,18 +45,18 @@ class ConsumersConfigGenerator {
*/
private static MetricsConsumer combineConsumers(MetricsConsumer original, MetricsConsumer overriding) {
if (overriding == null) return original;
- return addMetrics(original, overriding.getMetrics());
+ return addMetrics(original, overriding.metrics());
}
static MetricsConsumer addMetrics(MetricsConsumer original, Map<String, Metric> metrics) {
if (metrics == null) return original;
- Map<String, Metric> combinedMetrics = new LinkedHashMap<>(original.getMetrics());
+ Map<String, Metric> combinedMetrics = new LinkedHashMap<>(original.metrics());
metrics.forEach((name, newMetric) ->
- combinedMetrics.put(name, combineMetrics(original.getMetrics().get(name), newMetric)));
+ combinedMetrics.put(name, combineMetrics(original.metrics().get(name), newMetric)));
- return new MetricsConsumer(original.getId(),
- new MetricSet(original.getMetricSet().getId(), combinedMetrics.values()));
+ return new MetricsConsumer(original.id(),
+ new MetricSet(original.metricSet().getId(), combinedMetrics.values()));
}
private static Metric combineMetrics(Metric original, Metric newMetric) {
@@ -64,8 +64,8 @@ class ConsumersConfigGenerator {
}
static Consumer.Builder toConsumerBuilder(MetricsConsumer consumer) {
- Consumer.Builder builder = new Consumer.Builder().name(consumer.getId());
- consumer.getMetrics().values().forEach(metric -> builder.metric(toConsumerMetricBuilder(metric)));
+ Consumer.Builder builder = new Consumer.Builder().name(consumer.id());
+ consumer.metrics().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 b5936887b50..fbf6dcfd5eb 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
@@ -56,9 +56,7 @@ import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerClus
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.LEGACY_APPLICATION;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.SYSTEM;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames.TENANT;
-import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicConsumer.getDefaultPublicConsumer;
-import static com.yahoo.vespa.model.admin.monitoring.MetricSet.emptyMetricSet;
-import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.getVespaMetricsConsumer;
+import static com.yahoo.vespa.model.admin.monitoring.MetricSet.empty;
/**
* Container cluster for metrics proxy containers.
@@ -161,10 +159,10 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
@Override
public void getConfig(ConsumersConfig.Builder builder) {
- var amendedVespaConsumer = addMetrics(getVespaMetricsConsumer(), getAdditionalDefaultMetrics().getMetrics());
+ var amendedVespaConsumer = addMetrics(MetricsConsumer.vespa, getAdditionalDefaultMetrics().getMetrics());
builder.consumer.addAll(generateConsumers(amendedVespaConsumer, getUserMetricsConsumers()));
- builder.consumer.add(toConsumerBuilder(getDefaultPublicConsumer()));
+ builder.consumer.add(toConsumerBuilder(MetricsConsumer.defaultConsumer));
}
@Override
@@ -210,7 +208,7 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
private MetricSet getAdditionalDefaultMetrics() {
return getAdmin()
.map(Admin::getAdditionalDefaultMetrics)
- .orElse(emptyMetricSet());
+ .orElse(empty());
}
// Returns the metrics consumers from services.xml
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java
new file mode 100644
index 00000000000..f6f51ed91fb
--- /dev/null
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/AutoscalingMetrics.java
@@ -0,0 +1,26 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.model.admin.monitoring;
+
+import java.util.Arrays;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * Metrics used for autoscaling
+ *
+ * @author bratseth
+ */
+public class AutoscalingMetrics {
+
+ public static final MetricSet autoscalingMetricSet = create();
+
+ private static MetricSet create() {
+ return new MetricSet("autoscaling",
+ metrics("cpu.util", "mem_total.util", "disk.util"));
+ }
+
+ private static Set<Metric> metrics(String ... names) {
+ return Arrays.stream(names).map(Metric::new).collect(Collectors.toSet());
+ }
+
+}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java
index 5351c3fb3a7..66a278b3fb6 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/CloudWatch.java
@@ -8,6 +8,7 @@ import java.util.Optional;
* @author gjoranv
*/
public class CloudWatch {
+
private final String region;
private final String namespace;
private final MetricsConsumer consumer;
@@ -23,7 +24,7 @@ public class CloudWatch {
public String region() { return region; }
public String namespace() { return namespace; }
- public String consumer() { return consumer.getId(); }
+ public String consumer() { return consumer.id(); }
public Optional<HostedAuth> hostedAuth() {return Optional.ofNullable(hostedAuth); }
public Optional<SharedCredentials> sharedCredentials() {return Optional.ofNullable(sharedCredentials); }
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/DefaultMetrics.java
index c80cebe3d5b..adc0d0b1db8 100644
--- 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/DefaultMetrics.java
@@ -9,7 +9,6 @@ import java.util.LinkedHashSet;
import java.util.Set;
import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet;
-import static java.util.Collections.emptyList;
import static java.util.Collections.singleton;
/**
@@ -18,14 +17,14 @@ import static java.util.Collections.singleton;
*
* @author gjoranv
*/
-public class DefaultPublicMetrics {
+public class DefaultMetrics {
- public static final String DEFAULT_METRIC_SET_ID = "default";
+ public static final String defaultMetricSetId = "default";
- public static MetricSet defaultPublicMetricSet = createMetricSet();
+ public static MetricSet defaultMetricSet = createMetricSet();
private static MetricSet createMetricSet() {
- return new MetricSet(DEFAULT_METRIC_SET_ID,
+ return new MetricSet(defaultMetricSetId,
getAllMetrics(),
singleton(defaultVespaMetricSet));
}
@@ -95,6 +94,6 @@ public class DefaultPublicMetrics {
return metrics;
}
- private DefaultPublicMetrics() { }
+ private DefaultMetrics() { }
}
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 68b1fc3c983..00000000000
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultPublicConsumer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2020 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.ValuesFetcher;
-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 = ValuesFetcher.DEFAULT_PUBLIC_CONSUMER_ID.id;
-
- private static final MetricSet publicConsumerMetrics = new MetricSet("public-consumer-metrics",
- emptyList(),
- ImmutableList.of(defaultPublicMetricSet,
- 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/MetricSet.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricSet.java
index d879a6f445d..30797f27789 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricSet.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/MetricSet.java
@@ -24,21 +24,19 @@ public class MetricSet {
private final Map<String, Metric> metrics;
private final Set<MetricSet> children;
+ public MetricSet(String id, Collection<Metric> metrics) {
+ this(id, metrics, Collections.emptySet());
+ }
public MetricSet(String id, Collection<Metric> metrics, Collection<MetricSet> children) {
- Objects.requireNonNull(id, "Id cannot be null or empty.");
+ this.id = Objects.requireNonNull(id, "Id cannot be null or empty.");
- this.id = id;
this.metrics = toMapByName(metrics);
this.children = new LinkedHashSet<>(children);
}
- public MetricSet(String id, Collection<Metric> metrics) {
- this(id, metrics, Collections.emptySet());
- }
-
- public static MetricSet emptyMetricSet() {
- return new MetricSet("empty", Collections.emptySet());
+ public static MetricSet empty() {
+ return new MetricSet("empty", Set.of());
}
public final String getId() { return id; }
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 a8fbcf50b02..698b01c306a 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
@@ -1,26 +1,44 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.admin.monitoring;
-import javax.annotation.concurrent.Immutable;
+import ai.vespa.metricsproxy.core.VespaMetrics;
+import ai.vespa.metricsproxy.http.ValuesFetcher;
+
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import static com.yahoo.vespa.model.admin.monitoring.AutoscalingMetrics.autoscalingMetricSet;
+import static com.yahoo.vespa.model.admin.monitoring.DefaultMetrics.defaultMetricSet;
+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.VespaMetricSet.vespaMetricSet;
import static java.util.Collections.unmodifiableList;
/**
- * Represents an arbitrary metric consumer
+ * A metric consumer is a set of metrics given an id that can be requested at runtime.
*
- * @author trygve
+ * @author Trygve Berdal
* @author gjoranv
*/
-@Immutable
+// TODO: This construct seems redundant when we have metrics sets
public class MetricsConsumer {
+ // Pre-defined consumers
+ public static final MetricsConsumer vespa =
+ consumer(VespaMetrics.vespaMetricsConsumerId.id, vespaMetricSet, systemMetricSet, networkMetricSet);
+ public static final MetricsConsumer defaultConsumer =
+ consumer(ValuesFetcher.defaultMetricsConsumerId.id, defaultMetricSet, systemMetricSet);
+ // Referenced from com.yahoo.vespa.hosted.provision.autoscale.NodeMetricsFetcher
+ public static final MetricsConsumer autoscaling =
+ consumer("autoscaling", autoscalingMetricSet);
+
private final String id;
private final MetricSet metricSet;
+ // TODO: This shouldn't be here
private final List<CloudWatch> cloudWatches = new ArrayList<>();
/**
@@ -32,16 +50,16 @@ public class MetricsConsumer {
this.metricSet = Objects.requireNonNull(metricSet, "A consumer must have a non-null metric set.");
}
- public String getId() {
+ public String id() {
return id;
}
- public MetricSet getMetricSet() { return metricSet; }
+ public MetricSet metricSet() { return metricSet; }
/**
- * @return Map of metric with metric name as key
+ * @return map of metric with metric name as key
*/
- public Map<String, Metric> getMetrics() {
+ public Map<String, Metric> metrics() {
return metricSet.getMetrics();
}
@@ -53,4 +71,8 @@ public class MetricsConsumer {
return unmodifiableList(cloudWatches);
}
+ private static MetricsConsumer consumer(String id, MetricSet ... metricSets) {
+ return new MetricsConsumer(id, new MetricSet(id + "-consumer-metrics", List.of(), Arrays.asList(metricSets)));
+ }
+
}
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
deleted file mode 100644
index 9f3bfdc8ae8..00000000000
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricsConsumer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2017 Yahoo Holdings. 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.core.VespaMetrics;
-import com.google.common.collect.ImmutableList;
-
-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.VespaMetricSet.vespaMetricSet;
-import static java.util.Collections.emptyList;
-
-/**
- * This class sets up the 'Vespa' metrics consumer, which is mainly used for Yamas in hosted Vespa.
- *
- * @author trygve
- * @author gjoranv
- */
-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));
-
- public static MetricsConsumer getVespaMetricsConsumer() {
- return new MetricsConsumer(VESPA_CONSUMER_ID, vespaConsumerMetrics);
- }
-
-}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java
index 1f81f16a80b..6f9e9a08aa6 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/Metrics.java
@@ -17,7 +17,7 @@ public class Metrics {
private final Map<String, MetricsConsumer> consumers = new LinkedHashMap<>();
public void addConsumer(MetricsConsumer consumer) {
- consumers.put(consumer.getId(), consumer);
+ consumers.put(consumer.id(), consumer);
}
public Map<String, MetricsConsumer> getConsumers() {
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..dd514f1e245 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,8 @@ 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.AutoscalingMetrics.autoscalingMetricSet;
+import static com.yahoo.vespa.model.admin.monitoring.DefaultMetrics.defaultMetricSet;
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;
@@ -20,14 +21,17 @@ import static com.yahoo.vespa.model.admin.monitoring.VespaMetricSet.vespaMetricS
*/
public class PredefinedMetricSets {
- public static final Map<String, MetricSet> predefinedMetricSets = toMapById(
- defaultPublicMetricSet,
+ private static final Map<String, MetricSet> sets = toMapById(
+ defaultMetricSet,
defaultVespaMetricSet,
vespaMetricSet,
systemMetricSet,
- networkMetricSet
+ networkMetricSet,
+ autoscalingMetricSet
);
+ public static Map<String, MetricSet> get() { return sets; }
+
private static Map<String, MetricSet> toMapById(MetricSet... metricSets) {
Map<String, MetricSet> availableMetricSets = new LinkedHashMap<>();
for (MetricSet metricSet : metricSets) {
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 b686288868f..919830d912f 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,8 +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;
@@ -85,11 +83,11 @@ public class MetricsBuilder {
}
private void throwIfIllegalConsumerId(Metrics metrics, String consumerId) {
- if (consumerId.equalsIgnoreCase(VESPA_CONSUMER_ID) && applicationType != ApplicationType.HOSTED_INFRASTRUCTURE)
+ if (consumerId.equalsIgnoreCase(MetricsConsumer.vespa.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 (consumerId.equalsIgnoreCase(MetricsConsumer.defaultConsumer.id()))
+ throw new IllegalArgumentException("'" + MetricsConsumer.defaultConsumer.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/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java
index 462ac39fa84..025b7875677 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/CloudWatchValidator.java
@@ -31,7 +31,7 @@ public class CloudWatchValidator extends Validator {
}
private List<String> consumerIds(List<MetricsConsumer> offendingConsumers) {
- return offendingConsumers.stream().map(MetricsConsumer::getId).collect(toList());
+ return offendingConsumers.stream().map(MetricsConsumer::id).collect(toList());
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
index d2f06da992c..b643f771d73 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
@@ -18,6 +18,7 @@ import com.yahoo.vespa.model.admin.ModelConfigProvider;
import com.yahoo.vespa.model.admin.monitoring.DefaultMonitoring;
import com.yahoo.vespa.model.admin.monitoring.Monitoring;
import com.yahoo.vespa.model.admin.monitoring.builder.Metrics;
+import com.yahoo.vespa.model.admin.monitoring.builder.PredefinedMetricSets;
import com.yahoo.vespa.model.admin.monitoring.builder.xml.MetricsBuilder;
import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer;
import org.w3c.dom.Element;
@@ -25,8 +26,6 @@ import org.w3c.dom.Element;
import java.util.ArrayList;
import java.util.List;
-import static com.yahoo.vespa.model.admin.monitoring.builder.PredefinedMetricSets.predefinedMetricSets;
-
/**
* A base class for admin model builders, to support common functionality across versions.
*
@@ -69,8 +68,8 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu
@Override
protected Admin doBuild(DeployState deployState, AbstractConfigProducer parent, Element adminElement) {
Monitoring monitoring = getMonitoring(XML.getChild(adminElement,"monitoring"), deployState.isHosted());
- Metrics metrics = new MetricsBuilder(applicationType, predefinedMetricSets)
- .buildMetrics(XML.getChild(adminElement, "metrics"));
+ Metrics metrics = new MetricsBuilder(applicationType, PredefinedMetricSets.get())
+ .buildMetrics(XML.getChild(adminElement, "metrics"));
FileDistributionConfigProducer fileDistributionConfigProducer = getFileDistributionConfigProducer(parent, deployState.isHosted());
Admin admin = new Admin(parent, monitoring, metrics, multitenant, fileDistributionConfigProducer, deployState.isHosted());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java
index be7fc19a429..71dc1564277 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/DedicatedAdminV4Test.java
@@ -87,7 +87,7 @@ public class DedicatedAdminV4Test {
MetricsConsumer consumer = model.getAdmin().getUserMetrics().getConsumers().get("slingstone");
assertNotNull(consumer);
- Metric metric = consumer.getMetrics().get("foobar.count");
+ Metric metric = consumer.metrics().get("foobar.count");
assertNotNull(metric);
assertEquals("foobar", metric.outputName);
}
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 12a10a7e354..36eb30073b3 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
@@ -4,6 +4,7 @@ import ai.vespa.metricsproxy.core.ConsumersConfig;
import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.admin.monitoring.Metric;
import com.yahoo.vespa.model.admin.monitoring.MetricSet;
+import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -16,13 +17,11 @@ import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.c
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getCustomConsumer;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.servicesWithAdminOnly;
-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.DefaultMetrics.defaultMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet;
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.VespaMetricSet.vespaMetricSet;
-import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.VESPA_CONSUMER_ID;
import static java.util.Collections.singleton;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -34,7 +33,7 @@ import static org.junit.Assert.assertTrue;
*/
public class MetricsConsumersTest {
- private static int numPublicDefaultMetrics = defaultPublicMetricSet.getMetrics().size();
+ private static int numPublicDefaultMetrics = defaultMetricSet.getMetrics().size();
private static int numDefaultVespaMetrics = defaultVespaMetricSet.getMetrics().size();
private static int numVespaMetrics = vespaMetricSet.getMetrics().size();
private static int numSystemMetrics = systemMetricSet.getMetrics().size();
@@ -48,9 +47,9 @@ public class MetricsConsumersTest {
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);
+ assertEquals(MetricsConsumer.defaultConsumer.id(), config.consumer(1).name());
- int numMetricsForPublicDefaultConsumer = defaultPublicMetricSet.getMetrics().size() + numSystemMetrics;
+ int numMetricsForPublicDefaultConsumer = defaultMetricSet.getMetrics().size() + numSystemMetrics;
assertEquals(numMetricsForPublicDefaultConsumer, config.consumer(1).metric().size());
}
@@ -58,14 +57,14 @@ public class MetricsConsumersTest {
public void vespa_consumer_and_default_public_consumer_is_set_up_for_hosted() {
ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), hosted);
assertEquals(2, config.consumer().size());
- assertEquals(config.consumer(0).name(), VESPA_CONSUMER_ID);
- assertEquals(config.consumer(1).name(), DEFAULT_PUBLIC_CONSUMER_ID);
+ assertEquals(MetricsConsumer.vespa.id(), config.consumer(0).name());
+ assertEquals(MetricsConsumer.defaultConsumer.id(), config.consumer(1).name());
}
@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(MetricsConsumer.vespa.id(), config.consumer(0).name());
assertEquals(numMetricsForVespaConsumer, config.consumer(0).metric().size());
}
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 8ecb13d7ae5..b6037d2614e 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
@@ -14,12 +14,11 @@ import ai.vespa.metricsproxy.service.VespaServicesConfig;
import com.yahoo.search.config.QrStartConfig;
import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.admin.monitoring.Metric;
+import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer;
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;
/**
* @author gjoranv
@@ -76,7 +75,8 @@ class MetricsProxyModelTester {
static ConsumersConfig.Consumer getCustomConsumer(String servicesXml) {
ConsumersConfig config = consumersConfigFromXml(servicesXml, self_hosted);
for (ConsumersConfig.Consumer consumer : config.consumer()) {
- if (! consumer.name().equals(VESPA_CONSUMER_ID) && ! consumer.name().equals(DEFAULT_PUBLIC_CONSUMER_ID))
+ if (! consumer.name().equals(MetricsConsumer.vespa.id()) &&
+ ! consumer.name().equals(MetricsConsumer.defaultConsumer.id()))
return consumer;
}
throw new RuntimeException("Custom consumer not found!");
diff --git a/config/src/main/java/com/yahoo/vespa/config/ConfigPayload.java b/config/src/main/java/com/yahoo/vespa/config/ConfigPayload.java
index f4858843574..2f3a4bd2172 100644
--- a/config/src/main/java/com/yahoo/vespa/config/ConfigPayload.java
+++ b/config/src/main/java/com/yahoo/vespa/config/ConfigPayload.java
@@ -22,6 +22,7 @@ import java.io.OutputStream;
* @author Ulf Lilleengen
*/
public class ConfigPayload {
+
private final Slime slime;
public ConfigPayload(Slime slime) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
index 51213b173dd..2e73a02c75b 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/Application.java
@@ -37,7 +37,9 @@ import java.util.Set;
public class Application implements ModelResult {
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(Application.class.getName());
- private final long appGeneration; // The config generation for this application
+
+ /** The config generation for this application. */
+ private final long applicationGeneration;
private final boolean internalRedeploy;
private final Version vespaVersion;
private final Model model;
@@ -45,12 +47,12 @@ public class Application implements ModelResult {
private final MetricUpdater metricUpdater;
private final ApplicationId app;
- public Application(Model model, ServerCache cache, long appGeneration, boolean internalRedeploy,
+ public Application(Model model, ServerCache cache, long applicationGeneration, boolean internalRedeploy,
Version vespaVersion, MetricUpdater metricUpdater, ApplicationId app) {
Objects.requireNonNull(model, "The model cannot be null");
this.model = model;
this.cache = cache;
- this.appGeneration = appGeneration;
+ this.applicationGeneration = applicationGeneration;
this.internalRedeploy = internalRedeploy;
this.vespaVersion = vespaVersion;
this.metricUpdater = metricUpdater;
@@ -62,7 +64,7 @@ public class Application implements ModelResult {
*
* @return the config generation
*/
- public Long getApplicationGeneration() { return appGeneration; }
+ public Long getApplicationGeneration() { return applicationGeneration; }
/** Returns the application model, never null */
@Override
@@ -72,13 +74,13 @@ public class Application implements ModelResult {
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("application '").append(app.application().value()).append("', ");
- sb.append("generation ").append(appGeneration).append(", ");
+ sb.append("generation ").append(applicationGeneration).append(", ");
sb.append("vespa version ").append(vespaVersion);
return sb.toString();
}
public ApplicationInfo toApplicationInfo() {
- return new ApplicationInfo(app, appGeneration, model);
+ return new ApplicationInfo(app, applicationGeneration, model);
}
public ServerCache getCache() {
@@ -134,7 +136,7 @@ public class Application implements ModelResult {
throw new ConfigurationRuntimeException("Unable to resolve config " + configKey);
}
- ConfigResponse configResponse = responseFactory.createResponse(payload, appGeneration, internalRedeploy);
+ ConfigResponse configResponse = responseFactory.createResponse(payload, applicationGeneration, internalRedeploy);
metricUpdater.incrementProcTime(System.currentTimeMillis() - start);
if (useCache(req)) {
cache.put(cacheKey, configResponse, configResponse.getConfigMd5());
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
index 6d2ef4028c6..7601d90043e 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
@@ -50,7 +50,7 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
private static final Logger log = Logger.getLogger(ActivatedModelsBuilder.class.getName());
private final TenantName tenant;
- private final long appGeneration;
+ private final long applicationGeneration;
private final SessionZooKeeperClient zkClient;
private final PermanentApplicationPackage permanentApplicationPackage;
private final ConfigDefinitionRepo configDefinitionRepo;
@@ -60,7 +60,7 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
private final SecretStore secretStore;
public ActivatedModelsBuilder(TenantName tenant,
- long appGeneration,
+ long applicationGeneration,
SessionZooKeeperClient zkClient,
GlobalComponentRegistry globalComponentRegistry) {
super(globalComponentRegistry.getModelFactoryRegistry(),
@@ -68,7 +68,7 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
globalComponentRegistry.getZone(),
HostProvisionerProvider.from(globalComponentRegistry.getHostProvisioner()));
this.tenant = tenant;
- this.appGeneration = appGeneration;
+ this.applicationGeneration = applicationGeneration;
this.zkClient = zkClient;
this.permanentApplicationPackage = globalComponentRegistry.getPermanentApplicationPackage();
this.configDefinitionRepo = globalComponentRegistry.getStaticConfigDefinitionRepo();
@@ -87,7 +87,7 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
Optional<AllocatedHosts> ignored // Ignored since we have this in the app package for activated models
) {
log.log(Level.FINE, String.format("Loading model version %s for session %s application %s",
- modelFactory.version(), appGeneration, applicationId));
+ modelFactory.version(), applicationGeneration, applicationId));
ModelContext.Properties modelContextProperties = createModelContextProperties(applicationId);
Provisioned provisioned = new Provisioned();
ModelContext modelContext = new ModelContextImpl(
@@ -110,7 +110,7 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
ServerCache serverCache = new ServerCache(configDefinitionRepo, zkClient.getUserConfigDefinitions());
return new Application(modelFactory.createModel(modelContext),
serverCache,
- appGeneration,
+ applicationGeneration,
applicationPackage.getMetaData().isInternalRedeploy(),
modelFactory.version(),
applicationMetricUpdater,
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/ConfigResponseFactory.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/ConfigResponseFactory.java
index 88aa41ca735..415fa764823 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/ConfigResponseFactory.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/ConfigResponseFactory.java
@@ -26,10 +26,11 @@ public interface ConfigResponseFactory {
/**
* Creates a {@link ConfigResponse} for a given payload and generation.
- * @param payload the {@link ConfigPayload} to put in the response.
- * @param generation the payload generation. @return A {@link ConfigResponse} that can be sent to the client.
- * @param internalRedeploy whether this config generation was produced by an internal redeployment,
+ * @param payload the {@link ConfigPayload} to put in the response
+ * @param generation the payload generation
+ * @param internalRedeploy whether this config generation was produced by an internal redeployment
* not a change to the application package
+ * @return a {@link ConfigResponse} that can be sent to the client
*/
ConfigResponse createResponse(ConfigPayload payload, long generation, boolean internalRedeploy);
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java b/container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java
index d0cf07584e4..ecf120bfe44 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/MetricConsumerFactory.java
@@ -4,8 +4,8 @@ package com.yahoo.container.jdisc;
import com.yahoo.jdisc.application.MetricConsumer;
/**
- * <p>This is the interface to implement if one wishes to configure a non-default <code>MetricConsumer</code>. Simply
- * add the implementing class as a component in your services.xml file.</p>
+ * This is the interface to implement if one wishes to configure a non-default <code>MetricConsumer</code>. Simply
+ * add the implementing class as a component in your services.xml file.
*
* @author Simon Thoresen Hult
*/
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java
index c04dca465a1..b895d6221c3 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/core/VespaMetrics.java
@@ -21,7 +21,6 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
-import java.util.logging.Logger;
import java.util.stream.Collectors;
import static ai.vespa.metricsproxy.metric.dimensions.PublicDimensions.INTERNAL_SERVICE_ID;
@@ -31,14 +30,11 @@ import static ai.vespa.metricsproxy.metric.model.ServiceId.toServiceId;
import static com.google.common.base.Strings.isNullOrEmpty;
/**
- * @author Unknown
* @author gjoranv
*/
public class VespaMetrics {
- private static final Logger log = Logger.getLogger(VespaMetrics.class.getPackage().getName());
-
- public static final ConsumerId VESPA_CONSUMER_ID = toConsumerId("Vespa");
+ public static final ConsumerId vespaMetricsConsumerId = toConsumerId("Vespa");
public static final DimensionId METRIC_TYPE_DIMENSION_ID = toDimensionId("metrictype");
public static final DimensionId INSTANCE_DIMENSION_ID = toDimensionId(INTERNAL_SERVICE_ID);
@@ -68,8 +64,8 @@ public class VespaMetrics {
}
/**
- * @param services The services to get metrics for
- * @return A list of metrics packet builders (to allow modification by the caller).
+ * @param services the services to get metrics for
+ * @return a list of metrics packet builders (to allow modification by the caller)
*/
public List<MetricsPacket.Builder> getMetrics(List<VespaService> services) {
List<MetricsPacket.Builder> metricsPackets = new ArrayList<>();
@@ -253,7 +249,7 @@ public class VespaMetrics {
String alias = key;
boolean isForwarded = false;
- for (ConsumersConfig.Consumer.Metric metricConsumer : getMetricDefinitions(VESPA_CONSUMER_ID)) {
+ for (ConsumersConfig.Consumer.Metric metricConsumer : getMetricDefinitions(vespaMetricsConsumerId)) {
if (metricConsumer.name().equals(key)) {
alias = metricConsumer.outputname();
isForwarded = true;
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java
index 51bdae1aab3..cf2f6210f39 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java
@@ -24,7 +24,7 @@ public class ValuesFetcher {
private static final Logger log = Logger.getLogger(ValuesFetcher.class.getName());
- public static final ConsumerId DEFAULT_PUBLIC_CONSUMER_ID = toConsumerId("default");
+ public static final ConsumerId defaultMetricsConsumerId = toConsumerId("default");
private final MetricsManager metricsManager;
private final VespaServices vespaServices;
@@ -62,12 +62,12 @@ public class ValuesFetcher {
}
public static ConsumerId getConsumerOrDefault(String requestedConsumer, MetricsConsumers consumers) {
- if (requestedConsumer == null) return DEFAULT_PUBLIC_CONSUMER_ID;
+ if (requestedConsumer == null) return defaultMetricsConsumerId;
ConsumerId consumerId = toConsumerId(requestedConsumer);
if (! consumers.getAllConsumers().contains(consumerId)) {
log.info("No consumer with id '" + requestedConsumer + "' - using the default consumer instead.");
- return DEFAULT_PUBLIC_CONSUMER_ID;
+ return defaultMetricsConsumerId;
}
return consumerId;
}
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java
index 5c7e64c4ed1..15f924505be 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java
@@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit;
import java.util.logging.Logger;
import java.util.stream.Collectors;
-import static ai.vespa.metricsproxy.http.ValuesFetcher.DEFAULT_PUBLIC_CONSUMER_ID;
+import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId;
import static java.util.Collections.emptyList;
import static java.util.stream.Collectors.toMap;
@@ -50,7 +50,6 @@ public class ApplicationMetricsRetriever extends AbstractComponent {
// Non-final for testing
private Duration taskTimeout;
-
@Inject
public ApplicationMetricsRetriever(MetricsNodesConfig nodesConfig) {
clients = createNodeClients(nodesConfig);
@@ -66,7 +65,7 @@ public class ApplicationMetricsRetriever extends AbstractComponent {
}
public Map<Node, List<MetricsPacket>> getMetrics() {
- return getMetrics(DEFAULT_PUBLIC_CONSUMER_ID);
+ return getMetrics(defaultMetricsConsumerId);
}
public Map<Node, List<MetricsPacket>> getMetrics(ConsumerId consumer) {
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java
index 8d5a1f50918..2d5cd9acb5d 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java
@@ -29,6 +29,7 @@ import static java.util.stream.Collectors.joining;
* @author gjoranv
*/
public class MetricsPacket {
+
public final int statusCode;
public final String statusMessage;
public final long timestamp;
@@ -80,7 +81,8 @@ public class MetricsPacket {
}
public static class Builder {
- // Set sensible defaults here, and use null guard in all setters.
+
+ // Set defaults here, and use null guard in all setters.
// Except for 'service' for which we require an explicit non-null value.
private ServiceId service;
private int statusCode = 0;
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java
index d2838d5b1d2..d71b11a4ff2 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtil.java
@@ -16,7 +16,7 @@ import java.util.Map;
import java.util.logging.Logger;
import java.util.stream.Collectors;
-import static ai.vespa.metricsproxy.http.ValuesFetcher.DEFAULT_PUBLIC_CONSUMER_ID;
+import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.model.ServiceId.toServiceId;
import static com.yahoo.stream.CustomCollectors.toLinkedMap;
import static java.util.Collections.emptyList;
@@ -123,7 +123,7 @@ public class YamasJsonUtil {
private static YamasJsonModel.YamasJsonNamespace toYamasJsonNamespaces(Collection<ConsumerId> consumers) {
YamasJsonModel.YamasJsonNamespace namespaces = new YamasJsonModel.YamasJsonNamespace();
namespaces.namespaces = consumers.stream()
- .filter(consumerId -> consumerId != DEFAULT_PUBLIC_CONSUMER_ID)
+ .filter(consumerId -> consumerId != defaultMetricsConsumerId)
.map(consumer -> consumer.id)
.collect(Collectors.toList());
return namespaces;
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/ServiceHealthGatherer.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/ServiceHealthGatherer.java
index 923fb4d646d..a11acf07156 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/ServiceHealthGatherer.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/node/ServiceHealthGatherer.java
@@ -12,13 +12,11 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-
/**
* @author olaa
*/
public class ServiceHealthGatherer {
-
protected static List<MetricsPacket.Builder> gatherServiceHealthMetrics(VespaServices vespaServices) {
return vespaServices.getVespaServices()
.stream()
@@ -33,4 +31,5 @@ public class ServiceHealthGatherer {
)
.collect(Collectors.toList());
}
+
}
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/TestUtil.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/TestUtil.java
index e067639023d..27ac3bbab01 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/TestUtil.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/TestUtil.java
@@ -35,4 +35,5 @@ public class TestUtil {
}
return new BufferedReader(new InputStreamReader(in)).lines().collect(Collectors.joining("\n"));
}
+
}
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/core/MetricsManagerTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/core/MetricsManagerTest.java
index f21774aeb15..fd1961fc168 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/core/MetricsManagerTest.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/core/MetricsManagerTest.java
@@ -28,7 +28,7 @@ import java.util.Map;
import static ai.vespa.metricsproxy.core.MetricsManager.VESPA_VERSION;
import static ai.vespa.metricsproxy.core.VespaMetrics.METRIC_TYPE_DIMENSION_ID;
-import static ai.vespa.metricsproxy.core.VespaMetrics.VESPA_CONSUMER_ID;
+import static ai.vespa.metricsproxy.core.VespaMetrics.vespaMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.ExternalMetrics.ROLE_DIMENSION;
import static ai.vespa.metricsproxy.metric.model.DimensionId.toDimensionId;
import static ai.vespa.metricsproxy.metric.model.MetricId.toMetricId;
@@ -241,7 +241,7 @@ public class MetricsManagerTest {
return new MetricsConsumers(new ConsumersConfig.Builder()
.consumer(new Consumer.Builder()
- .name(VESPA_CONSUMER_ID.id)
+ .name(vespaMetricsConsumerId.id)
.metric(new Consumer.Metric.Builder()
.name(WHITELISTED_METRIC_ID)
.outputname(WHITELISTED_METRIC_ID))
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/HttpHandlerTestBase.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/HttpHandlerTestBase.java
index d776368687d..ab586334baa 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/HttpHandlerTestBase.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/HttpHandlerTestBase.java
@@ -22,7 +22,7 @@ import com.yahoo.container.jdisc.RequestHandlerTestDriver;
import java.time.Instant;
import java.util.List;
-import static ai.vespa.metricsproxy.http.ValuesFetcher.DEFAULT_PUBLIC_CONSUMER_ID;
+import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.ExternalMetrics.VESPA_NODE_SERVICE_ID;
import static ai.vespa.metricsproxy.metric.dimensions.PublicDimensions.REASON;
import static ai.vespa.metricsproxy.service.DummyService.METRIC_1;
@@ -71,7 +71,7 @@ public class HttpHandlerTestBase {
return new MetricsConsumers(new ConsumersConfig.Builder()
.consumer(new ConsumersConfig.Consumer.Builder()
- .name(DEFAULT_PUBLIC_CONSUMER_ID.id)
+ .name(defaultMetricsConsumerId.id)
.metric(new ConsumersConfig.Consumer.Metric.Builder()
.name(CPU_METRIC)
.outputname(CPU_METRIC))
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java
index 0fa6fea7d11..d7576718e8a 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsHandlerTest.java
@@ -12,7 +12,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.tomakehurst.wiremock.junit.WireMockRule;
import com.yahoo.container.jdisc.RequestHandlerTestDriver;
import java.util.regex.Pattern;
-import java.util.stream.Collectors;
+
import org.json.JSONArray;
import org.json.JSONObject;
import org.junit.Before;
@@ -26,7 +26,7 @@ import java.util.Map;
import java.util.concurrent.Executors;
import static ai.vespa.metricsproxy.TestUtil.getFileContents;
-import static ai.vespa.metricsproxy.http.ValuesFetcher.DEFAULT_PUBLIC_CONSUMER_ID;
+import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId;
import static ai.vespa.metricsproxy.http.application.ApplicationMetricsHandler.METRICS_V1_PATH;
import static ai.vespa.metricsproxy.http.application.ApplicationMetricsHandler.METRICS_VALUES_PATH;
import static ai.vespa.metricsproxy.http.application.ApplicationMetricsHandler.PROMETHEUS_VALUES_PATH;
@@ -89,7 +89,7 @@ public class ApplicationMetricsHandlerTest {
private void setupWireMock() {
port = wireMockRule.port();
wireMockRule.stubFor(get(urlPathEqualTo(MOCK_METRICS_PATH))
- .withQueryParam("consumer", equalTo(DEFAULT_PUBLIC_CONSUMER_ID.id))
+ .withQueryParam("consumer", equalTo(defaultMetricsConsumerId.id))
.willReturn(aResponse().withBody(RESPONSE)));
// Add a slightly different response for a custom consumer.
@@ -132,7 +132,7 @@ public class ApplicationMetricsHandlerTest {
@Test
public void response_contains_node() {
- GenericApplicationModel jsonModel = getResponseAsJsonModel(DEFAULT_PUBLIC_CONSUMER_ID.id);
+ GenericApplicationModel jsonModel = getResponseAsJsonModel(defaultMetricsConsumerId.id);
assertEquals(1, jsonModel.nodes.size());
GenericJsonModel nodeModel = jsonModel.nodes.get(0);
@@ -161,7 +161,7 @@ public class ApplicationMetricsHandlerTest {
@Test
public void response_contains_services_with_metrics() {
- GenericApplicationModel jsonModel = getResponseAsJsonModel(DEFAULT_PUBLIC_CONSUMER_ID.id);
+ GenericApplicationModel jsonModel = getResponseAsJsonModel(defaultMetricsConsumerId.id);
GenericJsonModel nodeModel = jsonModel.nodes.get(0);
assertEquals(2, nodeModel.services.size());
@@ -174,7 +174,7 @@ public class ApplicationMetricsHandlerTest {
@Test
public void metrics_processors_are_applied() {
- GenericApplicationModel jsonModel = getResponseAsJsonModel(DEFAULT_PUBLIC_CONSUMER_ID.id);
+ GenericApplicationModel jsonModel = getResponseAsJsonModel(defaultMetricsConsumerId.id);
GenericService searchnode = jsonModel.nodes.get(0).services.get(0);
Map<String, String> dimensions = searchnode.metrics.get(0).dimensions;
@@ -233,7 +233,7 @@ public class ApplicationMetricsHandlerTest {
private static MetricsConsumers getMetricsConsumers() {
return new MetricsConsumers(new ConsumersConfig.Builder()
.consumer(new ConsumersConfig.Consumer.Builder()
- .name(DEFAULT_PUBLIC_CONSUMER_ID.id))
+ .name(defaultMetricsConsumerId.id))
.consumer(new ConsumersConfig.Consumer.Builder()
.name(CUSTOM_CONSUMER))
.build());
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/NodeMetricsClientTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/NodeMetricsClientTest.java
index d8443ece8e8..eba32941620 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/NodeMetricsClientTest.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/application/NodeMetricsClientTest.java
@@ -16,7 +16,7 @@ import java.net.URI;
import java.util.List;
import static ai.vespa.metricsproxy.TestUtil.getFileContents;
-import static ai.vespa.metricsproxy.http.ValuesFetcher.DEFAULT_PUBLIC_CONSUMER_ID;
+import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.model.ConsumerId.toConsumerId;
import static ai.vespa.metricsproxy.metric.model.MetricId.toMetricId;
import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
@@ -56,12 +56,12 @@ public class NodeMetricsClientTest {
@BeforeClass
public static void setupWireMock() {
node = new Node("id", "localhost", wireMockRule.port(), MetricsV1Handler.VALUES_PATH);
- URI metricsUri = node.metricsUri(DEFAULT_PUBLIC_CONSUMER_ID);
+ URI metricsUri = node.metricsUri(defaultMetricsConsumerId);
wireMockRule.stubFor(get(urlPathEqualTo(metricsUri.getPath()))
.willReturn(aResponse().withBody(RESPONSE)));
wireMockRule.stubFor(get(urlPathEqualTo(metricsUri.getPath()))
- .withQueryParam("consumer", equalTo(DEFAULT_PUBLIC_CONSUMER_ID.id))
+ .withQueryParam("consumer", equalTo(defaultMetricsConsumerId.id))
.willReturn(aResponse().withBody(RESPONSE)));
// Add a slightly different response for a custom consumer.
@@ -85,34 +85,34 @@ public class NodeMetricsClientTest {
@Test
public void metrics_are_retrieved_upon_first_request() {
- List<MetricsPacket> metrics = nodeMetricsClient.getMetrics(DEFAULT_PUBLIC_CONSUMER_ID);
+ List<MetricsPacket> metrics = nodeMetricsClient.getMetrics(defaultMetricsConsumerId);
assertEquals(1, nodeMetricsClient.snapshotsRetrieved());
assertEquals(4, metrics.size());
}
@Test
public void cached_metrics_are_used_when_ttl_has_not_expired() {
- nodeMetricsClient.getMetrics(DEFAULT_PUBLIC_CONSUMER_ID);
+ nodeMetricsClient.getMetrics(defaultMetricsConsumerId);
assertEquals(1, nodeMetricsClient.snapshotsRetrieved());
clock.advance(NodeMetricsClient.METRICS_TTL.minusMillis(1));
- nodeMetricsClient.getMetrics(DEFAULT_PUBLIC_CONSUMER_ID);
+ nodeMetricsClient.getMetrics(defaultMetricsConsumerId);
assertEquals(1, nodeMetricsClient.snapshotsRetrieved());
}
@Test
public void metrics_are_refreshed_when_ttl_has_expired() {
- nodeMetricsClient.getMetrics(DEFAULT_PUBLIC_CONSUMER_ID);
+ nodeMetricsClient.getMetrics(defaultMetricsConsumerId);
assertEquals(1, nodeMetricsClient.snapshotsRetrieved());
clock.advance(NodeMetricsClient.METRICS_TTL.plusMillis(1));
- nodeMetricsClient.getMetrics(DEFAULT_PUBLIC_CONSUMER_ID);
+ nodeMetricsClient.getMetrics(defaultMetricsConsumerId);
assertEquals(2, nodeMetricsClient.snapshotsRetrieved());
}
@Test
public void metrics_for_different_consumers_are_cached_separately() {
- List<MetricsPacket> defaultMetrics = nodeMetricsClient.getMetrics(DEFAULT_PUBLIC_CONSUMER_ID);
+ List<MetricsPacket> defaultMetrics = nodeMetricsClient.getMetrics(defaultMetricsConsumerId);
assertEquals(1, nodeMetricsClient.snapshotsRetrieved());
assertEquals(4, defaultMetrics.size());
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java
index d3a5622d263..67430e50e10 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/metric/model/json/YamasJsonUtilTest.java
@@ -7,8 +7,8 @@ import org.junit.Test;
import java.util.List;
import java.util.Set;
-import static ai.vespa.metricsproxy.core.VespaMetrics.VESPA_CONSUMER_ID;
-import static ai.vespa.metricsproxy.http.ValuesFetcher.DEFAULT_PUBLIC_CONSUMER_ID;
+import static ai.vespa.metricsproxy.core.VespaMetrics.vespaMetricsConsumerId;
+import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.model.ServiceId.toServiceId;
import static ai.vespa.metricsproxy.metric.model.json.YamasJsonUtil.YAMAS_ROUTING;
import static ai.vespa.metricsproxy.metric.model.json.YamasJsonUtil.toMetricsPackets;
@@ -60,18 +60,18 @@ public class YamasJsonUtilTest {
@Test
public void default_public_consumer_is_filtered_from_yamas_routing() {
MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo"))
- .addConsumers(Set.of(VESPA_CONSUMER_ID, DEFAULT_PUBLIC_CONSUMER_ID))
+ .addConsumers(Set.of(vespaMetricsConsumerId, defaultMetricsConsumerId))
.build();
YamasJsonModel jsonModel = YamasJsonUtil.toYamasArray(singleton(packet)).metrics.get(0);
List<String> namespaces = jsonModel.routing.get(YAMAS_ROUTING).namespaces;
assertEquals(1, namespaces.size());
- assertEquals(VESPA_CONSUMER_ID.id, namespaces.get(0));
+ assertEquals(vespaMetricsConsumerId.id, namespaces.get(0));
}
@Test
public void only_default_public_consumer_yields_null_routing_in_json_model() {
MetricsPacket packet = new MetricsPacket.Builder(toServiceId("foo"))
- .addConsumers(Set.of(DEFAULT_PUBLIC_CONSUMER_ID))
+ .addConsumers(Set.of(defaultMetricsConsumerId))
.build();
YamasJsonModel jsonModel = YamasJsonUtil.toYamasArray(singleton(packet)).metrics.get(0);
assertNull(jsonModel.routing);
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/IntegrationTester.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/IntegrationTester.java
index 7275cb737c4..9dcf2d9c375 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/IntegrationTester.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/IntegrationTester.java
@@ -22,7 +22,7 @@ import ai.vespa.metricsproxy.service.VespaServicesConfig.Service;
import java.io.IOException;
-import static ai.vespa.metricsproxy.core.VespaMetrics.VESPA_CONSUMER_ID;
+import static ai.vespa.metricsproxy.core.VespaMetrics.vespaMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.model.ConsumerId.toConsumerId;
import static ai.vespa.metricsproxy.metric.model.ServiceId.toServiceId;
import static ai.vespa.metricsproxy.service.HttpMetricFetcher.STATE_PATH;
@@ -88,7 +88,7 @@ public class IntegrationTester implements AutoCloseable {
private ConsumersConfig consumersConfig() {
return new ConsumersConfig.Builder()
- .consumer(createConsumer(VESPA_CONSUMER_ID, "foo.count", "foo_count"))
+ .consumer(createConsumer(vespaMetricsConsumerId, "foo.count", "foo_count"))
.consumer(createConsumer(CUSTOM_CONSUMER_ID, "foo.count", "foo.count"))
.build();
}
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/RpcMetricsTest.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/RpcMetricsTest.java
index a363247ff52..8d5bba77844 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/RpcMetricsTest.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/rpc/RpcMetricsTest.java
@@ -19,7 +19,7 @@ import org.junit.Test;
import java.util.List;
import static ai.vespa.metricsproxy.TestUtil.getFileContents;
-import static ai.vespa.metricsproxy.core.VespaMetrics.VESPA_CONSUMER_ID;
+import static ai.vespa.metricsproxy.core.VespaMetrics.vespaMetricsConsumerId;
import static ai.vespa.metricsproxy.metric.model.DimensionId.toDimensionId;
import static ai.vespa.metricsproxy.rpc.IntegrationTester.CUSTOM_CONSUMER_ID;
import static ai.vespa.metricsproxy.rpc.IntegrationTester.MONITORING_SYSTEM;
@@ -144,7 +144,7 @@ public class RpcMetricsTest {
assertThat(jsonObject.getJSONObject("routing").getJSONObject("yamas").getJSONArray("namespaces").length(), is(1));
if (jsonObject.getJSONObject("metrics").has("foo_count")) {
assertThat(jsonObject.getJSONObject("metrics").getInt("foo_count"), is(1));
- assertThat(jsonObject.getJSONObject("routing").getJSONObject("yamas").getJSONArray("namespaces").get(0), is(VESPA_CONSUMER_ID.id));
+ assertThat(jsonObject.getJSONObject("routing").getJSONObject("yamas").getJSONArray("namespaces").get(0), is(vespaMetricsConsumerId.id));
} else {
assertThat(jsonObject.getJSONObject("metrics").getInt("foo.count"), is(1));
assertThat(jsonObject.getJSONObject("routing").getJSONObject("yamas").getJSONArray("namespaces").get(0), is(CUSTOM_CONSUMER_ID.id));
@@ -190,7 +190,7 @@ public class RpcMetricsTest {
assertNotNull("Did not find expected metric with name 'bar'", m2);
try (RpcClient rpcClient = new RpcClient(tester.rpcPort())) {
- String response = getAllMetricNamesForService(services.get(0).getMonitoringName(), VESPA_CONSUMER_ID, rpcClient);
+ String response = getAllMetricNamesForService(services.get(0).getMonitoringName(), vespaMetricsConsumerId, rpcClient);
assertThat(response, is("foo.count=ON;output-name=foo_count,bar.count=OFF,"));
}
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcher.java
index acdd419c0de..1361faba66c 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcher.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcher.java
@@ -62,7 +62,8 @@ public class NodeMetricsFetcher extends AbstractComponent implements NodeMetrics
.stream()
.findFirst();
if (metricsV2Container.isEmpty()) return Collections.emptyList();
- String url = "http://" + metricsV2Container.get().hostname() + ":" + 4080 + apiPath + "?consumer=default";
+ // Consumer 'autoscaling' defined in com.yahoo.vespa.model.admin.monitoring.MetricConsumer
+ String url = "http://" + metricsV2Container.get().hostname() + ":" + 4080 + apiPath + "?consumer=autoscaling";
String response = httpClient.get(url);
return new MetricsResponse(response).metrics();
}
@@ -114,7 +115,6 @@ public class NodeMetricsFetcher extends AbstractComponent implements NodeMetrics
}
}
-
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcherTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcherTest.java
index 6bf52218302..d418d818ef3 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcherTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/NodeMetricsFetcherTest.java
@@ -41,7 +41,7 @@ public class NodeMetricsFetcherTest {
{
httpClient.cannedResponse = cannedResponseForApplication1;
List<NodeMetrics.MetricValue> values = new ArrayList<>(fetcher.fetchMetrics(application1));
- assertEquals("http://host-1.yahoo.com:4080/metrics/v2/values?consumer=default",
+ assertEquals("http://host-1.yahoo.com:4080/metrics/v2/values?consumer=autoscaling",
httpClient.requestsReceived.get(0));
assertEquals(5, values.size());
assertEquals("metric value cpu.util: 16.2 at 1970-01-01T00:20:34Z for host-1.yahoo.com", values.get(0).toString());
@@ -54,7 +54,7 @@ public class NodeMetricsFetcherTest {
{
httpClient.cannedResponse = cannedResponseForApplication2;
List<NodeMetrics.MetricValue> values = new ArrayList<>(fetcher.fetchMetrics(application2));
- assertEquals("http://host-3.yahoo.com:4080/metrics/v2/values?consumer=default",
+ assertEquals("http://host-3.yahoo.com:4080/metrics/v2/values?consumer=autoscaling",
httpClient.requestsReceived.get(1));
assertEquals(3, values.size());
assertEquals("metric value cpu.util: 10.0 at 1970-01-01T00:21:40Z for host-3.yahoo.com", values.get(0).toString());
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java
index 6a9108311b1..f1c421f6c22 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.fail;
*/
public class EvaluationTestCase {
- private double tolerance = 0.000001;
+ private final double tolerance = 0.000001;
@Test
public void testEvaluation() {