]> git.sesse.net Git - nageru/blobdiff - metrics.cpp
Add exported metrics for all the latency measurements.
[nageru] / metrics.cpp
index 3468ed766b17cbd11b987fcaac03ddfd8414dd51..1f3f8a1c18b6478b2c7d5b3956137a3aa67169d9 100644 (file)
@@ -1,6 +1,7 @@
 #include "metrics.h"
 
 #include <assert.h>
+#include <math.h>
 
 #include <algorithm>
 #include <locale>
@@ -119,6 +120,15 @@ void Histogram::init_uniform(size_t num_buckets)
        }
 }
 
+void Histogram::init_geometric(double min, double max, size_t num_buckets)
+{
+       this->num_buckets = num_buckets;
+       buckets.reset(new Bucket[num_buckets]);
+       for (size_t i = 0; i < num_buckets; ++i) {
+               buckets[i].val = min * pow(max / min, double(i) / (num_buckets - 1));
+       }
+}
+
 void Histogram::count_event(double val)
 {
        Bucket ref_bucket;