X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=metrics.cpp;h=86c3d591872a4a38d53d34a55216b66e4d6d1405;hb=ffd68fbfb90242069af957f2a28908f0559f8348;hp=eae1e25158c0ec7233bdfd7737b5df7321320217;hpb=209e6be93c4157a6503c82d56e8bc47955f5be6e;p=nageru 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";