X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=shared%2Fmetrics.cpp;h=248da38a277992289e9ae703bd1442f16ce077e5;hb=26da0ebb049dc4c97c2dfda0f35c3546afb5b2a7;hp=24b61fe56de7cb0574dab74670101393ae645dab;hpb=131a051c4cd3719a9be415386fdf0f4e15da7c66;p=nageru diff --git a/shared/metrics.cpp b/shared/metrics.cpp index 24b61fe..248da38 100644 --- a/shared/metrics.cpp +++ b/shared/metrics.cpp @@ -12,6 +12,7 @@ using namespace std; using namespace std::chrono; Metrics global_metrics; +string Metrics::prefix = "nageru"; double get_timestamp_for_metrics() { @@ -20,7 +21,7 @@ double get_timestamp_for_metrics() string Metrics::serialize_name(const string &name, const vector> &labels) { - return "nageru_" + name + serialize_labels(labels); + return prefix + "_" + name + serialize_labels(labels); } string Metrics::serialize_labels(const vector> &labels) @@ -98,7 +99,7 @@ void Metrics::remove(const string &name, const vector> &lab // If this is the last metric with this name, remove the type as well. if (!((it != metrics.begin() && prev(it)->first.name == name) || - (it != metrics.end() && next(it)->first.name == name))) { + (it != metrics.end() && next(it) != metrics.end() && next(it)->first.name == name))) { types.erase(name); } @@ -114,7 +115,7 @@ string Metrics::serialize() const lock_guard lock(mu); auto type_it = types.cbegin(); for (const auto &key_and_metric : metrics) { - string name = "nageru_" + key_and_metric.first.name + key_and_metric.first.serialized_labels; + string name = prefix + "_" + key_and_metric.first.name + key_and_metric.first.serialized_labels; const Metric &metric = key_and_metric.second; if (type_it != types.cend() && @@ -122,11 +123,11 @@ string Metrics::serialize() const // It's the first time we print out any metric with this name, // so add the type header. if (type_it->second == TYPE_GAUGE) { - ss << "# TYPE nageru_" << type_it->first << " gauge\n"; + ss << "# TYPE " + prefix + "_" << type_it->first << " gauge\n"; } else if (type_it->second == TYPE_HISTOGRAM) { - ss << "# TYPE nageru_" << type_it->first << " histogram\n"; + ss << "# TYPE " + prefix + "_" << type_it->first << " histogram\n"; } else if (type_it->second == TYPE_SUMMARY) { - ss << "# TYPE nageru_" << type_it->first << " summary\n"; + ss << "# TYPE " + prefix + "_" << type_it->first << " summary\n"; } ++type_it; }