summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2017-09-05 07:57:54 +0000
committerArne Juul <arnej@yahoo-inc.com>2017-09-05 08:02:35 +0000
commitce3399dfba40145ea806c435d630f36fa45eb621 (patch)
tree1570a559fb8683b1ca96bd42a3fe289bf5e9ef77 /config-model
parentf14b11c91a8163ee0220d7a3caee0a86c8d5ebbc (diff)
add "display-name" attribute for metrics
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/builder/xml/MetricsBuilder.java12
-rw-r--r--config-model/src/main/resources/schema/admin.rnc5
-rw-r--r--config-model/src/test/schema-test-files/services.xml3
3 files changed, 17 insertions, 3 deletions
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 98578fdd475..fab1e90cc03 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
@@ -25,6 +25,7 @@ import static com.yahoo.vespa.model.admin.monitoring.SystemMetrics.systemMetricS
public class MetricsBuilder {
private static final String ID_ATTRIBUTE = "id";
+ private static final String DISPLAY_NAME_ATTRIBUTE = "display-name";
private final ApplicationType applicationType;
private final Map<String, MetricSet> availableMetricSets;
@@ -46,9 +47,18 @@ public class MetricsBuilder {
return metrics;
}
+ private static Metric metricFromElement(Element elem) {
+ String m_id = elem.getAttribute(ID_ATTRIBUTE);
+ String m_dn = elem.getAttribute(DISPLAY_NAME_ATTRIBUTE);
+ if (m_dn == null || "".equals(m_dn)) {
+ return new Metric(m_id);
+ }
+ return new Metric(m_id, m_dn);
+ }
+
private MetricSet buildMetricSet(String consumerId, Element consumerElement) {
List<Metric> metrics = XML.getChildren(consumerElement, "metric").stream()
- .map(metricElement -> new Metric(metricElement.getAttribute(ID_ATTRIBUTE)))
+ .map(metricElement -> metricFromElement(metricElement))
.collect(Collectors.toCollection(LinkedList::new));
List<MetricSet> metricSets = XML.getChildren(consumerElement, "metric-set").stream()
diff --git a/config-model/src/main/resources/schema/admin.rnc b/config-model/src/main/resources/schema/admin.rnc
index 3db16f74e77..26705784a34 100644
--- a/config-model/src/main/resources/schema/admin.rnc
+++ b/config-model/src/main/resources/schema/admin.rnc
@@ -88,7 +88,10 @@ Metrics = element metrics {
element consumer {
attribute id { xsd:Name } &
element metric-set { attribute id { xsd:Name } }* &
- element metric { attribute id { xsd:Name } }*
+ element metric {
+ attribute id { xsd:Name } &
+ attribute display-name { xsd:Name }?
+ }*
}+
}
diff --git a/config-model/src/test/schema-test-files/services.xml b/config-model/src/test/schema-test-files/services.xml
index 9143709d855..322f4ed8356 100644
--- a/config-model/src/test/schema-test-files/services.xml
+++ b/config-model/src/test/schema-test-files/services.xml
@@ -19,7 +19,8 @@
<consumer id="my-consumer">
<metric-set id="my-set" />
<metric id="my-metric"/>
- <metric id="my-metric2"/>
+ <metric id="my-metric2" display-name="my-metric3"/>
+ <metric display-name="my-metric4" id="my-metric4.avg"/>
</consumer>
<consumer id="my-consumer2">
<metric-set id="my-set2" />