aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@yahooinc.com>2023-09-14 08:49:24 +0200
committerGitHub <noreply@github.com>2023-09-14 08:49:24 +0200
commitbc4b48a546118dfd2f8f6fa97290ed83f6be340f (patch)
tree0b50518401ae43dc0e949eb99b8712d5e8fad59c /config-model
parentbfdbde3030953fe8fcf5c9c46006839e1875acce (diff)
parent09cfae691a590baa8e6f774db695e84f3f56877d (diff)
Merge pull request #28513 from vespa-engine/olaa/consumer-amender
Amendable consumer list
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java13
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java5
2 files changed, 18 insertions, 0 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 f8837a4530a..392f14d206b 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
@@ -21,6 +21,7 @@ import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainer;
import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainerCluster;
import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainer;
import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster;
+import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer;
import com.yahoo.vespa.model.admin.monitoring.Monitoring;
import com.yahoo.vespa.model.admin.monitoring.builder.Metrics;
import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer;
@@ -28,8 +29,10 @@ import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProvider;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Optional;
+import java.util.Set;
import static ai.vespa.metrics.set.MetricSet.empty;
@@ -49,6 +52,7 @@ public class Admin extends TreeConfigProducer<AnyConfigProducer> implements Seri
private final Metrics metrics;
private MetricsProxyContainerCluster metricsProxyCluster;
private MetricSet additionalDefaultMetrics = empty();
+ private Set<MetricsConsumer> amendedMetricsConsumers = new HashSet<>();
private final List<Slobrok> slobroks = new ArrayList<>();
private Configserver defaultConfigserver;
@@ -120,6 +124,15 @@ public class Admin extends TreeConfigProducer<AnyConfigProducer> implements Seri
return additionalDefaultMetrics;
}
+ public void setAmendedMetricsConsumers(Set<MetricsConsumer> amendedMetricsConsumers) {
+ if (amendedMetricsConsumers == null) return;
+ this.amendedMetricsConsumers = Set.copyOf(amendedMetricsConsumers);
+ }
+
+ public Set<MetricsConsumer> getAmendedMetricsConsumers() {
+ return amendedMetricsConsumers;
+ }
+
/** Returns a list of all config servers */
public List<Configserver> getConfigservers() {
return configservers;
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 4dce1b33b1d..aa3b8b3b821 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
@@ -159,6 +159,11 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
builder.consumer.add(toConsumerBuilder(MetricsConsumer.defaultConsumer));
builder.consumer.add(toConsumerBuilder(newDefaultConsumer()));
+ getAdmin()
+ .map(Admin::getAmendedMetricsConsumers)
+ .map(consumers -> consumers.stream().map(ConsumersConfigGenerator::toConsumerBuilder).toList())
+ .ifPresent(builder.consumer::addAll);
+
}
public MetricsConsumer newDefaultConsumer() {