From: Steinar H. Gunderson Date: Wed, 21 Jun 2017 19:50:37 +0000 (+0200) Subject: Fix another Prometheus NaN problem. X-Git-Tag: 1.6.1~29 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=6a52be5ea94241f6307a953788811c2f2ed2ac77;p=nageru Fix another Prometheus NaN problem. --- diff --git a/metrics.cpp b/metrics.cpp index eae1e25..86c3d59 100644 --- a/metrics.cpp +++ b/metrics.cpp @@ -317,7 +317,13 @@ string Summary::serialize(Metrics::Laziness laziness, const string &name, const vector> quantile_labels = labels; quantile_labels.emplace_back("quantile", quantile_ss.str()); - ss << Metrics::serialize_name(name, quantile_labels) << " " << quantile_and_value.second << "\n"; + double val = quantile_and_value.second;; + if (isnan(val)) { + // Prometheus can't handle “-nan”. + ss << Metrics::serialize_name(name, quantile_labels) << " NaN\n"; + } else { + ss << Metrics::serialize_name(name, quantile_labels) << " " << val << "\n"; + } } ss << Metrics::serialize_name(name + "_sum", labels) << " " << sum.load() << "\n";