proxmox-rrd: use syncfs after writing rrd files
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
This commit is contained in:
@ -30,7 +30,9 @@ use proxmox_rest_server::{
|
||||
ServerAdapter, WorkerTask, cleanup_old_tasks,
|
||||
};
|
||||
|
||||
use proxmox_backup::rrd_cache::{ rrd_update_gauge, rrd_update_derive, initialize_rrd_cache};
|
||||
use proxmox_backup::rrd_cache::{
|
||||
initialize_rrd_cache, rrd_update_gauge, rrd_update_derive, rrd_sync_journal,
|
||||
};
|
||||
use proxmox_backup::{
|
||||
server::{
|
||||
auth::check_pbs_auth,
|
||||
@ -896,6 +898,8 @@ async fn run_stat_generator() {
|
||||
|
||||
generate_host_stats().await;
|
||||
|
||||
rrd_sync_journal();
|
||||
|
||||
tokio::time::sleep_until(tokio::time::Instant::from_std(delay_target)).await;
|
||||
|
||||
}
|
||||
|
@ -94,6 +94,14 @@ pub fn extract_rrd_data(
|
||||
rrd_cache.extract_cached_data(basedir, name, cf, resolution, Some(start), Some(end))
|
||||
}
|
||||
|
||||
/// Sync/Flush the RRD journal
|
||||
pub fn rrd_sync_journal() {
|
||||
if let Ok(rrd_cache) = get_rrd_cache() {
|
||||
if let Err(err) = rrd_cache.sync_journal() {
|
||||
log::error!("rrd_sync_journal failed - {}", err);
|
||||
}
|
||||
}
|
||||
}
|
||||
/// Update RRD Gauge values
|
||||
pub fn rrd_update_gauge(name: &str, value: f64) {
|
||||
if let Ok(rrd_cache) = get_rrd_cache() {
|
||||
|
Reference in New Issue
Block a user