aboutsummaryrefslogtreecommitdiff
path: root/src/common/Metric/Metric.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/Metric/Metric.cpp')
-rw-r--r--src/common/Metric/Metric.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/common/Metric/Metric.cpp b/src/common/Metric/Metric.cpp
index 455bdce039a..c924c233e02 100644
--- a/src/common/Metric/Metric.cpp
+++ b/src/common/Metric/Metric.cpp
@@ -152,8 +152,14 @@ void Metric::SendBatch()
if (!_realmName.empty())
batchedData << ",realm=" << _realmName;
- for (MetricTag const& tag : data->Tags)
- batchedData << "," << tag.first << "=" << FormatInfluxDBTagValue(tag.second);
+ if (data->Tags)
+ {
+ auto begin = std::visit([](auto&& value) { return value.data(); }, *data->Tags);
+ auto end = std::visit([](auto&& value) { return value.data() + value.size(); }, *data->Tags);
+ for (auto itr = begin; itr != end; ++itr)
+ if (!itr->first.empty())
+ batchedData << "," << itr->first << "=" << FormatInfluxDBTagValue(itr->second);
+ }
batchedData << " ";