summaryrefslogtreecommitdiffstats
path: root/metrics
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2018-10-02 12:33:06 +0000
committerArne Juul <arnej@yahoo-inc.com>2018-10-03 19:47:50 +0000
commit7e953a8f8e02a002323c789405d8c05c7e3518ab (patch)
treea43e460d8ea49bcb83c34b273321cff03f6561ed /metrics
parent9446df9277dec1343b78b6f2369e08b5eed3d843 (diff)
re-compute mangled name
* must re-compute mangled name whenever name or tags change, including when tags are set to empty set.
Diffstat (limited to 'metrics')
-rw-r--r--metrics/src/vespa/metrics/metric.cpp1
-rw-r--r--metrics/src/vespa/metrics/metric.h7
2 files changed, 7 insertions, 1 deletions
diff --git a/metrics/src/vespa/metrics/metric.cpp b/metrics/src/vespa/metrics/metric.cpp
index f6be5f79357..e67398e4626 100644
--- a/metrics/src/vespa/metrics/metric.cpp
+++ b/metrics/src/vespa/metrics/metric.cpp
@@ -116,6 +116,7 @@ void
Metric::assignMangledNameWithDimensions()
{
if (!tagsSpecifyAtLeastOneDimension(_tags)) {
+ _mangledName = _name;
return;
}
sortTagsInDeterministicOrder();
diff --git a/metrics/src/vespa/metrics/metric.h b/metrics/src/vespa/metrics/metric.h
index 5b617e68a7f..91ad88fecf7 100644
--- a/metrics/src/vespa/metrics/metric.h
+++ b/metrics/src/vespa/metrics/metric.h
@@ -215,12 +215,17 @@ public:
virtual bool visit(MetricVisitor& visitor, bool tagAsAutoGenerated = false) const = 0;
/** Used by sum metric to alter name of cloned metric for sum. */
- void setName(const String& name) { _name = name; }
+ void setName(const String& name) {
+ _name = name;
+ assignMangledNameWithDimensions();
+ }
+
/** Used by sum metric to alter description of cloned metric for sum. */
void setDescription(const String& d) { _description = d; }
/** Used by sum metric to alter tag of cloned metric for sum. */
void setTags(Tags tags) {
_tags = std::move(tags);
+ assignMangledNameWithDimensions();
}
/** Set whether metrics have ever been set. */