diff options
author | Ola Aunrønning <olaa@yahooinc.com> | 2023-09-14 08:49:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-14 08:49:24 +0200 |
commit | bc4b48a546118dfd2f8f6fa97290ed83f6be340f (patch) | |
tree | 0b50518401ae43dc0e949eb99b8712d5e8fad59c /config-model | |
parent | bfdbde3030953fe8fcf5c9c46006839e1875acce (diff) | |
parent | 09cfae691a590baa8e6f774db695e84f3f56877d (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.java | 13 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java | 5 |
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() { |