]> git.sesse.net Git - nageru/commitdiff
Fix compilation with Clang.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 17 Jun 2017 12:53:27 +0000 (14:53 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 17 Jun 2017 12:53:27 +0000 (14:53 +0200)
metrics.cpp
metrics.h
print_latency.cpp

index 86b5d231b0f0d7087036f8ccf3b7419646980c10..eae1e25158c0ec7233bdfd7737b5df7321320217 100644 (file)
@@ -234,8 +234,11 @@ string Histogram::serialize(Metrics::Laziness laziness, const string &name, cons
        return ss.str();
 }
 
-Summary::Summary(const vector<double> &quantiles, double window_seconds)
-       : quantiles(quantiles), window(window_seconds) {}
+void Summary::init(const vector<double> &quantiles, double window_seconds)
+{
+       this->quantiles = quantiles;
+       window = duration<double>(window_seconds);
+}
 
 void Summary::count_event(double val)
 {
index 107b9ae8ded7d64a294c3ab807a37a6e1554a1db..e2e1e74f5ac9bb818f5bbdb8e6798ec27cadf869 100644 (file)
--- a/metrics.h
+++ b/metrics.h
@@ -145,13 +145,13 @@ private:
 // need anything fancy.
 class Summary {
 public:
-       Summary(const std::vector<double> &quantiles, double window_seconds);
+       void init(const std::vector<double> &quantiles, double window_seconds);
        void count_event(double val);
        std::string serialize(Metrics::Laziness laziness, const std::string &name, const std::vector<std::pair<std::string, std::string>> &labels);
 
 private:
-       const std::vector<double> quantiles;
-       const std::chrono::duration<double> window;
+       std::vector<double> quantiles;
+       std::chrono::duration<double> window;
 
        mutable std::mutex mu;
        std::deque<std::pair<std::chrono::steady_clock::time_point, double>> values;
index 31f2edfdd7cf75151f2201e6625c4f0d70c927be..4b7fa0bea8efbe84666f48d0a211c5457653ff24 100644 (file)
@@ -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<double> 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 },