aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2017-06-02 15:23:07 +0200
committerGitHub <noreply@github.com>2017-06-02 15:23:07 +0200
commit6d11145fb25591ae137f2dfefdc5627cafcc9b83 (patch)
tree22a73fe70841afcef66fe183b72f25003983376c /config-model
parente03e9d31eff8091c00e01f1ec884a4cb28625685 (diff)
parent891a20c6084cc3ca78ff199a03728bb312c4c48e (diff)
Merge pull request #2615 from yahoo/ldalves/default-vespa-metrics
add default vespa metrics to custom consumers
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/DefaultVespaMetrics.java32
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java11
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/PredefinedMetricSets.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java3
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);