From 209e6be93c4157a6503c82d56e8bc47955f5be6e Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sat, 17 Jun 2017 14:53:27 +0200 Subject: [PATCH] Fix compilation with Clang. --- metrics.cpp | 7 +++++-- metrics.h | 6 +++--- print_latency.cpp | 7 ++++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/metrics.cpp b/metrics.cpp index 86b5d23..eae1e25 100644 --- a/metrics.cpp +++ b/metrics.cpp @@ -234,8 +234,11 @@ string Histogram::serialize(Metrics::Laziness laziness, const string &name, cons return ss.str(); } -Summary::Summary(const vector &quantiles, double window_seconds) - : quantiles(quantiles), window(window_seconds) {} +void Summary::init(const vector &quantiles, double window_seconds) +{ + this->quantiles = quantiles; + window = duration(window_seconds); +} void Summary::count_event(double val) { diff --git a/metrics.h b/metrics.h index 107b9ae..e2e1e74 100644 --- a/metrics.h +++ b/metrics.h @@ -145,13 +145,13 @@ private: // need anything fancy. class Summary { public: - Summary(const std::vector &quantiles, double window_seconds); + void init(const std::vector &quantiles, double window_seconds); void count_event(double val); std::string serialize(Metrics::Laziness laziness, const std::string &name, const std::vector> &labels); private: - const std::vector quantiles; - const std::chrono::duration window; + std::vector quantiles; + std::chrono::duration window; mutable std::mutex mu; std::deque> values; diff --git a/print_latency.cpp b/print_latency.cpp index 31f2edf..4b7fa0b 100644 --- a/print_latency.cpp +++ b/print_latency.cpp @@ -44,9 +44,10 @@ void LatencyHistogram::init(const string &measuring_point) char frame_index_str[64]; snprintf(frame_index_str, sizeof(frame_index_str), "%u", frame_index); - summaries[card_index][frame_index].reset( - new Summary[2]{{{0.01, 0.1, 0.25, 0.5, 0.75, 0.9, 0.99}, 60.0}, - {{0.01, 0.1, 0.25, 0.5, 0.75, 0.9, 0.99}, 60.0}}); + vector quantiles{0.01, 0.1, 0.25, 0.5, 0.75, 0.9, 0.99}; + summaries[card_index][frame_index].reset(new Summary[2]); + summaries[card_index][frame_index][0].init(quantiles, 60.0); + summaries[card_index][frame_index][1].init(quantiles, 60.0); global_metrics.add("latency_seconds", {{ "measuring_point", measuring_point }, { "card", card_index_str }, -- 2.39.2