diff options
author | gjoranv <gjoranv@gmail.com> | 2017-06-02 15:23:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-02 15:23:07 +0200 |
commit | 6d11145fb25591ae137f2dfefdc5627cafcc9b83 (patch) | |
tree | 22a73fe70841afcef66fe183b72f25003983376c /config-model | |
parent | e03e9d31eff8091c00e01f1ec884a4cb28625685 (diff) | |
parent | 891a20c6084cc3ca78ff199a03728bb312c4c48e (diff) |
Merge pull request #2615 from yahoo/ldalves/default-vespa-metrics
add default vespa metrics to custom consumers
Diffstat (limited to 'config-model')
4 files changed, 43 insertions, 7 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultVespaMetrics.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultVespaMetrics.java new file mode 100644 index 00000000000..68346477f23 --- /dev/null +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultVespaMetrics.java @@ -0,0 +1,32 @@ +package com.yahoo.vespa.model.admin.monitoring; + +import com.google.common.collect.ImmutableSet; + +import java.util.Set; + +/** + * Encapsulates a minimal set of Vespa metrics to be used as default for all metrics consumers. + * + * @author leandroalves + */ +public class DefaultVespaMetrics { + public static final MetricSet defaultVespaMetricSet = createDefaultVespaMetricSet(); + + private static MetricSet createDefaultVespaMetricSet() { + + Set<Metric> defaultContainerMetrics = + ImmutableSet.of(new Metric("feed.operations.rate") + ); + + Set<Metric> defaultContentMetrics = + ImmutableSet.of(new Metric("content.proton.resource_usage.feeding_blocked.last") + ); + + Set<Metric> defaultMetrics = ImmutableSet.<Metric>builder() + .addAll(defaultContainerMetrics) + .addAll(defaultContentMetrics) + .build(); + + return new MetricSet("default-vespa", 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 dde725fe555..d260de7b5d0 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 @@ -2,10 +2,12 @@ package com.yahoo.vespa.model.admin.monitoring; import java.util.Collections; -import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Set; +import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet; +import static java.util.Collections.singleton; + /** * Encapsulates vespa service metrics. * @@ -14,7 +16,9 @@ import java.util.Set; @SuppressWarnings("UnusedDeclaration") // Used by model amenders public class VespaMetricSet { - public static final MetricSet vespaMetricSet = new MetricSet("vespa", getVespaMetrics(), Collections.emptySet()); + public static final MetricSet vespaMetricSet = new MetricSet("vespa", + getVespaMetrics(), + singleton(defaultVespaMetricSet)); private static Set<Metric> getVespaMetrics() { Set<Metric> metrics = new LinkedHashSet<>(); @@ -124,9 +128,7 @@ public class VespaMetricSet { metrics.add(new Metric("peak_qps.max", "peak_qps")); metrics.add(new Metric("search_connections.average", "search_connections")); metrics.add(new Metric("active_queries.average", "active_queries")); - metrics.add(new Metric("feed.operations.rate")); metrics.add(new Metric("feed.latency.average")); - metrics.add(new Metric("queries.rate", "queries")); metrics.add(new Metric("query_latency.average", "mean_query_latency")); metrics.add(new Metric("query_latency.max", "max_query_latency")); metrics.add(new Metric("query_latency.95percentile", "95p_query_latency")); @@ -200,7 +202,6 @@ public class VespaMetricSet { metrics.add(new Metric("content.proton.resource_usage.memory.average")); metrics.add(new Metric("content.proton.resource_usage.memory_mappings.max")); metrics.add(new Metric("content.proton.resource_usage.open_file_descriptors.max")); - metrics.add(new Metric("content.proton.resource_usage.feeding_blocked.last")); metrics.add(new Metric("content.proton.documentdb.attribute.resource_usage.enum_store.average")); metrics.add(new Metric("content.proton.documentdb.attribute.resource_usage.multi_value.average")); metrics.add(new Metric("content.proton.documentdb.attribute.resource_usage.feeding_blocked.last")); 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 c44f4b57e63..c8f6d787688 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 @@ -2,14 +2,13 @@ package com.yahoo.vespa.model.admin.monitoring.builder; import com.yahoo.vespa.model.admin.monitoring.MetricSet; -import com.yahoo.vespa.model.admin.monitoring.SystemMetrics; -import com.yahoo.vespa.model.admin.monitoring.VespaMetricSet; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import static com.yahoo.vespa.model.admin.monitoring.SystemMetrics.systemMetricSet; +import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet; import static com.yahoo.vespa.model.admin.monitoring.VespaMetricSet.vespaMetricSet; /** @@ -20,6 +19,7 @@ import static com.yahoo.vespa.model.admin.monitoring.VespaMetricSet.vespaMetricS public class PredefinedMetricSets { public static final Map<String, MetricSet> predefinedMetricSets = toMapById( + defaultVespaMetricSet, vespaMetricSet, systemMetricSet ); 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 35b297d2ed3..ad08ddd08a1 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 @@ -3,6 +3,7 @@ package com.yahoo.vespa.model.admin.monitoring.builder.xml; import com.yahoo.config.model.ConfigModelContext.ApplicationType; import com.yahoo.text.XML; +import com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics; import com.yahoo.vespa.model.admin.monitoring.Metric; import com.yahoo.vespa.model.admin.monitoring.MetricSet; import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer; @@ -15,6 +16,7 @@ import java.util.Map; import java.util.stream.Collectors; import static com.yahoo.vespa.model.admin.monitoring.DefaultMetricsConsumer.VESPA_CONSUMER_ID; +import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet; import static com.yahoo.vespa.model.admin.monitoring.SystemMetrics.systemMetricSet; /** @@ -53,6 +55,7 @@ public class MetricsBuilder { .map(metricSetElement -> availableMetricSets.get(metricSetElement.getAttribute(ID_ATTRIBUTE))) .collect(Collectors.toCollection(LinkedList::new)); + metricSets.add(defaultVespaMetricSet); metricSets.add(systemMetricSet); return new MetricSet(metricSetId(consumerId), metrics, metricSets); |