diff options
Diffstat (limited to 'config-model')
7 files changed, 86 insertions, 120 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java b/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java index da4cabcf9f5..35d7b2d225e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java @@ -95,7 +95,8 @@ public class ConfigSentinel extends AbstractService implements SentinelConfig.Pr serviceBuilder.environ(b -> b.varname(entry.getKey()).varvalue(entry.getValue().toString())); } for (var entry : s.getLogctlSpecs()) { - serviceBuilder.logctl(b -> b.componentSpec(entry.componentSpec).levelsModSpec(entry.levelsModSpec)); + serviceBuilder.logctl(b -> b.componentSpec(entry.componentSpec()) + .levelsModSpec(entry.levelsModSpec().toLogctlModSpec())); } setPreShutdownCommand(serviceBuilder, s); return serviceBuilder; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java b/config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java index fd959943eab..d927c38082e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java @@ -1,11 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model; -public class LogctlSpec { - public final String componentSpec; - public final String levelsModSpec; - public LogctlSpec(String componentSpec, String levelsModSpec) { - this.componentSpec = componentSpec; - this.levelsModSpec = levelsModSpec; - } +import com.yahoo.container.logging.LevelsModSpec; + +public record LogctlSpec(String componentSpec, LevelsModSpec levelsModSpec) { } 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 f7bc04b6da1..62cbf61b336 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 @@ -30,7 +30,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; -import java.util.Set; import static com.yahoo.vespa.model.admin.monitoring.MetricSet.empty; @@ -328,22 +327,22 @@ public class Admin extends TreeConfigProducer<AnyConfigProducer> implements Seri public List<LogctlSpec> getLogctlSpecs() { return logctlSpecs; } - public void addLogctlCommand(String componentSpec, String levelsModSpec) { - logctlSpecs.add(new LogctlSpec(componentSpec, levelsModSpec)); + public void addLogctlCommand(String componentSpec, LevelsModSpec levelsModSpec) { + logctlSpecs.add(new LogctlSpec(componentSpec, levelsModSpec)); } - private static Set<LogctlSpec> defaultLogctlSpecs() { + private static List<LogctlSpec> defaultLogctlSpecs() { // Turn off info logging for all containers for some classes (unimportant log messages that create noise in vespa log) - return Set.of(new LogctlSpec("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator", getLevelModSpec("-info")), - new LogctlSpec("org.eclipse.jetty.server.Server", getLevelModSpec("-info")), - new LogctlSpec("org.eclipse.jetty.server.handler.ContextHandler", getLevelModSpec("-info")), - new LogctlSpec("org.eclipse.jetty.server.AbstractConnector", getLevelModSpec("-info"))); + return List.of(new LogctlSpec("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator", getLevelModSpec("-info")), + new LogctlSpec("org.eclipse.jetty.server.Server", getLevelModSpec("-info")), + new LogctlSpec("org.eclipse.jetty.server.handler.ContextHandler", getLevelModSpec("-info")), + new LogctlSpec("org.eclipse.jetty.server.AbstractConnector", getLevelModSpec("-info"))); } - static String getLevelModSpec(String levels) { + static LevelsModSpec getLevelModSpec(String levels) { var levelSpec = new LevelsModSpec(); levelSpec.setLevels(levels); - return levelSpec.toLogctlModSpec(); + return levelSpec; } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java index 34ec5de975d..1977a584713 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultMetrics.java @@ -4,11 +4,20 @@ package com.yahoo.vespa.model.admin.monitoring; import com.yahoo.metrics.ContainerMetrics; import com.yahoo.metrics.SearchNodeMetrics; +import com.yahoo.metrics.Suffix; +import com.yahoo.metrics.VespaMetrics; import java.util.Collections; +import java.util.EnumSet; import java.util.LinkedHashSet; import java.util.Set; +import static com.yahoo.metrics.Suffix.average; +import static com.yahoo.metrics.Suffix.count; +import static com.yahoo.metrics.Suffix.max; +import static com.yahoo.metrics.Suffix.ninety_five_percentile; +import static com.yahoo.metrics.Suffix.ninety_nine_percentile; +import static com.yahoo.metrics.Suffix.sum; import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet; /** @@ -39,72 +48,53 @@ public class DefaultMetrics { } private static void addContainerMetrics(Set<Metric> metrics) { - metrics.add(new Metric(ContainerMetrics.HTTP_STATUS_1XX.rate())); - metrics.add(new Metric(ContainerMetrics.HTTP_STATUS_2XX.rate())); - metrics.add(new Metric(ContainerMetrics.HTTP_STATUS_3XX.rate())); - metrics.add(new Metric(ContainerMetrics.HTTP_STATUS_4XX.rate())); - metrics.add(new Metric(ContainerMetrics.HTTP_STATUS_5XX.rate())); - metrics.add(new Metric(ContainerMetrics.JDISC_GC_MS.average())); - metrics.add(new Metric(ContainerMetrics.MEM_HEAP_FREE.average())); + addMetric(metrics, ContainerMetrics.HTTP_STATUS_1XX.rate()); + addMetric(metrics, ContainerMetrics.HTTP_STATUS_2XX.rate()); + addMetric(metrics, ContainerMetrics.HTTP_STATUS_3XX.rate()); + addMetric(metrics, ContainerMetrics.HTTP_STATUS_4XX.rate()); + addMetric(metrics, ContainerMetrics.HTTP_STATUS_5XX.rate()); + addMetric(metrics, ContainerMetrics.JDISC_GC_MS.average()); + addMetric(metrics, ContainerMetrics.MEM_HEAP_FREE.average()); } private static void addSearchChainMetrics(Set<Metric> metrics) { - metrics.add(new Metric(ContainerMetrics.QUERIES.rate())); - metrics.add(new Metric(ContainerMetrics.QUERY_LATENCY.sum())); - metrics.add(new Metric(ContainerMetrics.QUERY_LATENCY.count())); - metrics.add(new Metric(ContainerMetrics.QUERY_LATENCY.max())); - metrics.add(new Metric(ContainerMetrics.QUERY_LATENCY.ninety_five_percentile())); - metrics.add(new Metric(ContainerMetrics.QUERY_LATENCY.ninety_nine_percentile())); - metrics.add(new Metric(ContainerMetrics.HITS_PER_QUERY.sum())); - metrics.add(new Metric(ContainerMetrics.HITS_PER_QUERY.count())); - metrics.add(new Metric(ContainerMetrics.HITS_PER_QUERY.max())); - metrics.add(new Metric(ContainerMetrics.TOTAL_HITS_PER_QUERY.sum())); - metrics.add(new Metric(ContainerMetrics.TOTAL_HITS_PER_QUERY.count())); - metrics.add(new Metric(ContainerMetrics.TOTAL_HITS_PER_QUERY.max())); - metrics.add(new Metric(ContainerMetrics.DEGRADED_QUERIES.rate())); - metrics.add(new Metric(ContainerMetrics.FAILED_QUERIES.rate())); - metrics.add(new Metric(ContainerMetrics.QUERY_LATENCY.average())); // TODO: Remove with Vespa 9 - metrics.add(new Metric(ContainerMetrics.HITS_PER_QUERY.average())); // TODO: Remove with Vespa 9 - metrics.add(new Metric(ContainerMetrics.TOTAL_HITS_PER_QUERY.average())); // TODO: Remove with Vespa 9 - metrics.add(new Metric(ContainerMetrics.SERVER_ACTIVE_THREADS.average())); // TODO: Remove on Vespa 9. Use jdisc.thread_pool.active_threads. + addMetric(metrics, ContainerMetrics.QUERIES.rate()); + addMetric(metrics, ContainerMetrics.QUERY_LATENCY, EnumSet.of(sum, count, max, ninety_five_percentile, ninety_nine_percentile, average)); // TODO: Remove average with Vespa 9 + addMetric(metrics, ContainerMetrics.HITS_PER_QUERY, EnumSet.of(sum, count, max, average)); // TODO: Remove average with Vespa 9 + addMetric(metrics, ContainerMetrics.TOTAL_HITS_PER_QUERY, EnumSet.of(sum, count, max, average)); // TODO: Remove average with Vespa 9 + addMetric(metrics, ContainerMetrics.DEGRADED_QUERIES.rate()); + addMetric(metrics, ContainerMetrics.FAILED_QUERIES.rate()); + addMetric(metrics, ContainerMetrics.SERVER_ACTIVE_THREADS.average()); // TODO: Remove on Vespa 9. Use jdisc.thread_pool.active_threads. } private static void addContentMetrics(Set<Metric> metrics) { - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_DOCSUM_REQUESTED_DOCUMENTS.rate())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_DOCSUM_LATENCY.sum())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_DOCSUM_LATENCY.count())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_DOCSUM_LATENCY.max())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_DOCSUM_LATENCY.average())); // TODO: Remove with Vespa 9 - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_QUERY_LATENCY.sum())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_QUERY_LATENCY.count())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_QUERY_LATENCY.max())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_QUERY_LATENCY.average())); // TODO: Remove with Vespa 9 - - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_TOTAL.last())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_READY.last())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_ACTIVE.last())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DISK_USAGE.last())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MEMORY_USAGE_ALLOCATED_BYTES.last())); - - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_RESOURCE_USAGE_DISK.average())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_RESOURCE_USAGE_MEMORY.average())); - - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_DOCS_MATCHED.rate())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_DOCS_RERANKED.rate())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_SETUP_TIME.sum())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_SETUP_TIME.count())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_SETUP_TIME.max())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_SETUP_TIME.average())); // TODO: Remove with Vespa 9 - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_LATENCY.sum())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_LATENCY.count())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_LATENCY.max())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_LATENCY.average())); // TODO: Remove with Vespa 9 - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_RERANK_TIME.sum())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_RERANK_TIME.count())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_RERANK_TIME.max())); - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_RERANK_TIME.average())); // TODO: Remove with Vespa 9 - - metrics.add(new Metric(SearchNodeMetrics.CONTENT_PROTON_TRANSACTIONLOG_DISK_USAGE.last())); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_DOCSUM_REQUESTED_DOCUMENTS.rate()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_DOCSUM_LATENCY, EnumSet.of(sum, count, max, average)); // TODO: Remove average with Vespa 9 + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_SEARCH_PROTOCOL_QUERY_LATENCY, EnumSet.of(sum, count, max, average)); // TODO: Remove average with Vespa 9 + + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_TOTAL.last()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_READY.last()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_ACTIVE.last()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DISK_USAGE.last()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MEMORY_USAGE_ALLOCATED_BYTES.last()); + + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_RESOURCE_USAGE_DISK.average()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_RESOURCE_USAGE_MEMORY.average()); + + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_DOCS_MATCHED.rate()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_DOCS_RERANKED.rate()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_SETUP_TIME, EnumSet.of(sum, count, max, average)); // TODO: Remove average with Vespa 9 + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_QUERY_LATENCY, EnumSet.of(sum, count, max, average)); // TODO: Remove average with Vespa 9 + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_MATCHING_RANK_PROFILE_RERANK_TIME, EnumSet.of(sum, count, max, average)); // TODO: Remove average with Vespa 9 + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_TRANSACTIONLOG_DISK_USAGE.last()); + } + + private static void addMetric(Set<Metric> metrics, String nameWithSuffix) { + metrics.add(new Metric(nameWithSuffix)); + } + + private static void addMetric(Set<Metric> metrics, VespaMetrics metric, EnumSet<Suffix> suffixes) { + suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); } private DefaultMetrics() { } 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 f9f7f3a00ae..9c0a6b1b224 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 com.yahoo.metrics.SlobrokMetrics; import com.yahoo.metrics.StorageMetrics; import com.yahoo.metrics.NodeAdminMetrics; import com.yahoo.metrics.Suffix; +import com.yahoo.metrics.VespaMetrics; import java.util.Collections; import java.util.EnumSet; @@ -84,7 +85,7 @@ public class VespaMetricSet { addMetric(metrics, ContainerMetrics.JRT_TRANSPORT_SERVER_TLS_CONNECIONTS_ESTABLISHED.baseName()); addMetric(metrics, ContainerMetrics.JRT_TRANSPORT_CLIENT_TLS_CONNECTIONS_ESTABLISHED.baseName()); addMetric(metrics, ContainerMetrics.JRT_TRANSPORT_SERVER_UNENCRYPTED_CONNECTIONS_ESTABLISHED.baseName()); - addMetric(metrics, ContainerMetrics. JRT_TRANSPORT_CLIENT_UNENCRYPTED_CONNECTIONS_ESTABLISHED. baseName()); + addMetric(metrics, ContainerMetrics.JRT_TRANSPORT_CLIENT_UNENCRYPTED_CONNECTIONS_ESTABLISHED.baseName()); // C++ TLS metrics addMetric(metrics, StorageMetrics.VDS_SERVER_NETWORK_TLS_HANDSHAKES_FAILED.count()); @@ -113,7 +114,7 @@ public class VespaMetricSet { } private static Set<Metric> getConfigServerMetrics() { - Set<Metric> metrics =new LinkedHashSet<>(); + Set<Metric> metrics = new LinkedHashSet<>(); addMetric(metrics, ConfigServerMetrics.REQUESTS.count()); addMetric(metrics, ConfigServerMetrics.FAILED_REQUESTS.count()); @@ -140,9 +141,9 @@ public class VespaMetricSet { addMetric(metrics, ContainerMetrics.HANDLED_REQUESTS.count()); addMetric(metrics, ContainerMetrics.HANDLED_LATENCY, EnumSet.of(sum, count, max)); - - addMetric(metrics, ContainerMetrics.SERVER_NUM_OPEN_CONNECTIONS, EnumSet.of(max,last, average)); - addMetric(metrics, ContainerMetrics.SERVER_NUM_CONNECTIONS, EnumSet.of(max,last, average)); + + addMetric(metrics, ContainerMetrics.SERVER_NUM_OPEN_CONNECTIONS, EnumSet.of(max, last, average)); + addMetric(metrics, ContainerMetrics.SERVER_NUM_CONNECTIONS, EnumSet.of(max, last, average)); addMetric(metrics, ContainerMetrics.SERVER_BYTES_RECEIVED, EnumSet.of(sum, count)); addMetric(metrics, ContainerMetrics.SERVER_BYTES_SENT, EnumSet.of(sum, count)); @@ -187,7 +188,7 @@ public class VespaMetricSet { addMetric(metrics, ContainerMetrics.MEM_NATIVE_TOTAL.average()); addMetric(metrics, ContainerMetrics.MEM_NATIVE_FREE.average()); addMetric(metrics, ContainerMetrics.MEM_NATIVE_USED.average()); - + addMetric(metrics, ContainerMetrics.JDISC_MEMORY_MAPPINGS.max()); addMetric(metrics, ContainerMetrics.JDISC_OPEN_FILE_DESCRIPTORS.max()); @@ -240,7 +241,7 @@ public class VespaMetricSet { addMetric(metrics, ContainerMetrics.JDISC_APPLICATION_FAILED_COMPONENT_GRAPHS.rate()); addMetric(metrics, ContainerMetrics.JDISC_JVM.last()); - + // Deprecated metrics. TODO: Remove on Vespa 9. addMetric(metrics, ContainerMetrics.SERVER_REJECTED_REQUESTS, EnumSet.of(rate, count)); // TODO: Remove on Vespa 9. Use jdisc.thread_pool.rejected_tasks. addMetric(metrics, ContainerMetrics.SERVER_THREAD_POOL_SIZE, EnumSet.of(max, last)); // TODO: Remove on Vespa 9. Use jdisc.thread_pool.rejected_tasks. @@ -264,7 +265,7 @@ public class VespaMetricSet { addMetric(metrics, ClusterControllerMetrics.CLUSTER_STATE_CHANGE_COUNT.baseName()); addMetric(metrics, ClusterControllerMetrics.BUSY_TICK_TIME_MS, EnumSet.of(last, max, sum, count)); addMetric(metrics, ClusterControllerMetrics.IDLE_TICK_TIME_MS, EnumSet.of(last, max, sum, count)); - + addMetric(metrics, ClusterControllerMetrics.WORK_MS, EnumSet.of(last, sum, count)); addMetric(metrics, ClusterControllerMetrics.IS_MASTER.last()); @@ -278,7 +279,7 @@ public class VespaMetricSet { addMetric(metrics, ClusterControllerMetrics.RESOURCE_USAGE_MEMORY_LIMIT.last()); addMetric(metrics, ClusterControllerMetrics.RESOURCE_USAGE_DISK_LIMIT.last()); addMetric(metrics, ClusterControllerMetrics.REINDEXING_PROGRESS.last()); - + return metrics; } @@ -321,7 +322,7 @@ public class VespaMetricSet { addMetric(metrics, ContainerMetrics.RELEVANCE_AT_1, EnumSet.of(sum, count)); addMetric(metrics, ContainerMetrics.RELEVANCE_AT_3, EnumSet.of(sum, count)); addMetric(metrics, ContainerMetrics.RELEVANCE_AT_10, EnumSet.of(sum, count)); - + // Errors from search container addMetric(metrics, ContainerMetrics.ERROR_TIMEOUT.rate()); addMetric(metrics, ContainerMetrics.ERROR_BACKENDS_OOS.rate()); @@ -419,7 +420,7 @@ public class VespaMetricSet { addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_THREADING_SERVICE_SUMMARY_ACCEPTED.rate()); addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_THREADING_SERVICE_SUMMARY_WAKEUPS.rate()); addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_THREADING_SERVICE_SUMMARY_UTILIZATION, EnumSet.of(max, sum, count)); - + // lid space addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_READY_LID_SPACE_LID_BLOAT_FACTOR.average()); addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_READY_LID_SPACE_LID_FRAGMENTATION_FACTOR.average()); @@ -616,6 +617,7 @@ public class VespaMetricSet { return metrics; } + private static Set<Metric> getDistributorMetrics() { Set<Metric> metrics = new LinkedHashSet<>(); addMetric(metrics, DistributorMetrics.VDS_IDEALSTATE_BUCKETS_RECHECKING.average()); @@ -709,37 +711,10 @@ public class VespaMetricSet { metrics.add(new Metric(nameWithSuffix)); } - private static void addMetric(Set<Metric> metrics, ClusterControllerMetrics metric, EnumSet<Suffix> suffixes) { - suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); - } - - private static void addMetric(Set<Metric> metrics, ContainerMetrics metric, EnumSet<Suffix> suffixes) { - suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); - } - - private static void addMetric(Set<Metric> metrics, SearchNodeMetrics metric, EnumSet<Suffix> suffixes) { - suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); - } - - private static void addMetric(Set<Metric> metrics, StorageMetrics metric, EnumSet<Suffix> suffixes) { + private static void addMetric(Set<Metric> metrics, VespaMetrics metric, EnumSet<Suffix> suffixes) { suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); } - private static void addMetric(Set<Metric> metrics, DistributorMetrics metric, EnumSet<Suffix> suffixes) { - suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); - } - private static void addMetric(Set<Metric> metrics, SentinelMetrics metric, EnumSet<Suffix> suffixes) { - suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); - } - private static void addMetric(Set<Metric> metrics, SlobrokMetrics metric, EnumSet<Suffix> suffixes) { - suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); - } - private static void addMetric(Set<Metric> metrics, LogdMetrics metric, EnumSet<Suffix> suffixes) { - suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); - } - private static void addMetric(Set<Metric> metrics, ConfigServerMetrics metric, EnumSet<Suffix> suffixes) { - suffixes.forEach(suffix -> metrics.add(new Metric(metric.baseName() + "." + suffix.suffix()))); - } private static void addMetric(Set<Metric> metrics, String metricName, Iterable<String> aggregateSuffices) { for (String suffix : aggregateSuffices) { metrics.add(new Metric(metricName + "." + suffix)); 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 a29c0e69329..9280f0ceb9a 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 @@ -117,7 +117,7 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu String levels = loggingSpec.requiredStringAttribute("levels"); var levelSpec = new LevelsModSpec(); levelSpec.setLevels(levels); - admin.addLogctlCommand(componentSpec, levelSpec.toLogctlModSpec()); + admin.addLogctlCommand(componentSpec, levelSpec); } void addLoggingSpecs(ModelElement loggingElement, Admin admin) { diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java index 657d685684d..5559eb633ef 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java @@ -274,8 +274,13 @@ public class AdminTestCase { assertEquals(4, logctlSpecs.size()); // Default logctl specs assertEquals(1, logctlSpecs .stream() - .filter(l -> (l.componentSpec.equals("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator") - && l.levelsModSpec.equals("fatal=on,error=on,warning=on,info=off,event=on,config=on,debug=off,spam=off"))).count()); + .filter(l -> (l.componentSpec() + .equals("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator") + && + l.levelsModSpec() + .toLogctlModSpec() + .equals("fatal=on,error=on,warning=on,info=off,event=on,config=on,debug=off,spam=off"))) + .count()); String localhostConfigId = "hosts/myhost0"; SentinelConfig sentinelConfig = vespaModel.getConfig(SentinelConfig.class, localhostConfigId); |