X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=disk_space_estimator.cpp;h=a1961057dc79257f4e1ecdebce95306f803ec507;hb=96cb6414f85e0ef4d660b7bd56267303e80fcd05;hp=1cb7d6fcfe10f5e10b7fc699e52467d8a7d49282;hpb=b561d43a60201395f1354a585aa37670eda45883;p=nageru diff --git a/disk_space_estimator.cpp b/disk_space_estimator.cpp index 1cb7d6f..a196105 100644 --- a/disk_space_estimator.cpp +++ b/disk_space_estimator.cpp @@ -1,14 +1,17 @@ +#include "disk_space_estimator.h" + +#include #include -#include -#include -#include +#include +#include -#include "disk_space_estimator.h" +#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) @@ -40,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;