]> git.sesse.net Git - nageru/blobdiff - disk_space_estimator.cpp
Update the queue length metric after trimming, not before.
[nageru] / disk_space_estimator.cpp
index cacc8117ac5a8e324453ff86dcdb988c5ae0da99..a1961057dc79257f4e1ecdebce95306f803ec507 100644 (file)
@@ -5,11 +5,13 @@
 #include <sys/statfs.h>
 #include <memory>
 
+#include "metrics.h"
 #include "timebase.h"
 
 DiskSpaceEstimator::DiskSpaceEstimator(DiskSpaceEstimator::callback_t callback)
        : callback(callback)
 {
+       global_metrics.add("disk_free_bytes", &metric_disk_free_bytes, Metrics::TYPE_GAUGE);
 }
 
 void DiskSpaceEstimator::report_write(const std::string &filename, uint64_t pts)
@@ -41,8 +43,10 @@ void DiskSpaceEstimator::report_write(const std::string &filename, uint64_t pts)
                return;
        }
 
+       off_t free_bytes = off_t(fst.f_bavail) * fst.f_frsize;
+       metric_disk_free_bytes = free_bytes;
+
        if (!measure_points.empty()) {
-               off_t free_bytes = off_t(fst.f_bavail) * fst.f_frsize;
                double bytes_per_second = double(st.st_size - measure_points.front().size) /
                        (pts - measure_points.front().pts) * TIMEBASE;
                double seconds_left = free_bytes / bytes_per_second;