diff options
author | Arne Juul <arnej@yahoo-inc.com> | 2017-09-05 07:57:54 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahoo-inc.com> | 2017-09-05 08:02:35 +0000 |
commit | ce3399dfba40145ea806c435d630f36fa45eb621 (patch) | |
tree | 1570a559fb8683b1ca96bd42a3fe289bf5e9ef77 /config-model | |
parent | f14b11c91a8163ee0220d7a3caee0a86c8d5ebbc (diff) |
add "display-name" attribute for metrics
Diffstat (limited to 'config-model')
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" /> |