]> git.proxmox.com Git - proxmox-backup.git/commitdiff
rrd_cache: use `proxmox-rrd` from `proxmox` workspace
authorLukas Wagner <l.wagner@proxmox.com>
Wed, 31 Jan 2024 15:19:16 +0000 (16:19 +0100)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Thu, 1 Feb 2024 12:56:03 +0000 (13:56 +0100)
and use renamed structs from proxmox-rrd

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
[w.bumiller@proxmox.com: squash "and use renamed structs from proxmox-rrd" as build fix]
[w.bumiller@proxmox.com: bump d/control]
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Cargo.toml
debian/control
src/rrd_cache.rs

index 78b547a32179d88500adc57fccb8f7389c7a0df1..6255a6a0ec25b6e8ad5dc7ac6d10c08ded1821c1 100644 (file)
@@ -43,7 +43,6 @@ members = [
     "proxmox-backup-client",
     "proxmox-file-restore",
     "proxmox-restore-daemon",
-    "proxmox-rrd",
 
     "pxar-bin",
 ]
@@ -70,6 +69,7 @@ proxmox-openid = "0.10.0"
 proxmox-rest-server = { version = "0.5.1", features = [ "templates" ] }
 # some use "cli", some use "cli" and "server", pbs-config uses nothing
 proxmox-router = { version = "2.0.0", default_features = false }
+proxmox-rrd = { version = "0.1" }
 # everything but pbs-config and pbs-client use "api-macro"
 proxmox-schema = "2.0.0"
 proxmox-section-config = "2"
@@ -98,7 +98,6 @@ pbs-key-config = { path = "pbs-key-config" }
 pbs-pxar-fuse = { path = "pbs-pxar-fuse" }
 pbs-tape = { path = "pbs-tape" }
 pbs-tools = { path = "pbs-tools" }
-proxmox-rrd = { path = "proxmox-rrd" }
 
 # regular crates
 anyhow = "1.0"
@@ -260,6 +259,7 @@ proxmox-rrd.workspace = true
 #proxmox-openid = { path = "../proxmox/proxmox-openid" }
 #proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" }
 #proxmox-router = { path = "../proxmox/proxmox-router" }
+#proxmox-rrd = { path = "../proxmox/proxmox-rrd" }
 #proxmox-schema = { path = "../proxmox/proxmox-schema" }
 #proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
 #proxmox-serde = { path = "../proxmox/proxmox-serde" }
index 30d11db0a762b322dcd79f092fd31d11874bfaf1..09186e4024a9ac614bb8645ef8e06692ac1bd4fe 100644 (file)
@@ -79,6 +79,7 @@ Build-Depends: bash-completion,
                librust-proxmox-router-2+cli-dev,
                librust-proxmox-router-2+default-dev,
                librust-proxmox-router-2+server-dev,
+               librust-proxmox-rrd-0.1+default-dev,
                librust-proxmox-schema-2+api-macro-dev,
                librust-proxmox-schema-2+default-dev,
                librust-proxmox-section-config-2+default-dev,
@@ -104,7 +105,6 @@ Build-Depends: bash-completion,
                librust-rustyline-9+default-dev,
                librust-serde-1+default-dev,
                librust-serde-1+derive-dev,
-               librust-serde-cbor-0.11+default-dev (>= 0.11.1-~~),
                librust-serde-json-1+default-dev,
                librust-serde-plain-1+default-dev,
                librust-siphasher-0.3+default-dev,
index 60a4cc87bbbbec85fc8f13c676c8d66f9e7c75bb..02bb9372345b827943608341d581682e43d6783a 100644 (file)
@@ -9,8 +9,8 @@ use std::path::Path;
 use anyhow::{format_err, Error};
 use once_cell::sync::OnceCell;
 
-use proxmox_rrd::rrd::{CF, DST, RRD};
-use proxmox_rrd::RRDCache;
+use proxmox_rrd::rrd::{AggregationFn, DataSourceType, Database};
+use proxmox_rrd::Cache;
 use proxmox_sys::fs::CreateOptions;
 
 use pbs_api_types::{RRDMode, RRDTimeFrame};
@@ -18,10 +18,10 @@ use pbs_buildcfg::PROXMOX_BACKUP_STATE_DIR_M;
 
 const RRD_CACHE_BASEDIR: &str = concat!(PROXMOX_BACKUP_STATE_DIR_M!(), "/rrdb");
 
-static RRD_CACHE: OnceCell<RRDCache> = OnceCell::new();
+static RRD_CACHE: OnceCell<Cache> = OnceCell::new();
 
 /// Get the RRD cache instance
-pub fn get_rrd_cache() -> Result<&'static RRDCache, Error> {
+pub fn get_rrd_cache() -> Result<&'static Cache, Error> {
     RRD_CACHE
         .get()
         .ok_or_else(|| format_err!("RRD cache not initialized!"))
@@ -30,7 +30,7 @@ pub fn get_rrd_cache() -> Result<&'static RRDCache, Error> {
 /// Initialize the RRD cache instance
 ///
 /// Note: Only a single process must do this (proxmox-backup-proxy)
-pub fn initialize_rrd_cache() -> Result<&'static RRDCache, Error> {
+pub fn initialize_rrd_cache() -> Result<&'static Cache, Error> {
     let backup_user = pbs_config::backup_user()?;
 
     let file_options = CreateOptions::new()
@@ -43,7 +43,7 @@ pub fn initialize_rrd_cache() -> Result<&'static RRDCache, Error> {
 
     let apply_interval = 30.0 * 60.0; // 30 minutes
 
-    let cache = RRDCache::new(
+    let cache = Cache::new(
         RRD_CACHE_BASEDIR,
         Some(file_options),
         Some(dir_options),
@@ -58,8 +58,8 @@ pub fn initialize_rrd_cache() -> Result<&'static RRDCache, Error> {
     Ok(RRD_CACHE.get().unwrap())
 }
 
-fn load_callback(path: &Path, _rel_path: &str, dst: DST) -> RRD {
-    match RRD::load(path, true) {
+fn load_callback(path: &Path, _rel_path: &str, dst: DataSourceType) -> Database {
+    match Database::load(path, true) {
         Ok(rrd) => rrd,
         Err(err) => {
             if err.kind() != std::io::ErrorKind::NotFound {
@@ -69,7 +69,7 @@ fn load_callback(path: &Path, _rel_path: &str, dst: DST) -> RRD {
                     err
                 );
             }
-            RRDCache::create_proxmox_backup_default_rrd(dst)
+            Cache::create_proxmox_backup_default_rrd(dst)
         }
     }
 }
@@ -93,8 +93,8 @@ pub fn extract_rrd_data(
     };
 
     let cf = match mode {
-        RRDMode::Max => CF::Maximum,
-        RRDMode::Average => CF::Average,
+        RRDMode::Max => AggregationFn::Maximum,
+        RRDMode::Average => AggregationFn::Average,
     };
 
     let rrd_cache = get_rrd_cache()?;
@@ -114,7 +114,7 @@ pub fn rrd_sync_journal() {
 pub fn rrd_update_gauge(name: &str, value: f64) {
     if let Ok(rrd_cache) = get_rrd_cache() {
         let now = proxmox_time::epoch_f64();
-        if let Err(err) = rrd_cache.update_value(name, now, value, DST::Gauge) {
+        if let Err(err) = rrd_cache.update_value(name, now, value, DataSourceType::Gauge) {
             log::error!("rrd::update_value '{}' failed - {}", name, err);
         }
     }
@@ -124,7 +124,7 @@ pub fn rrd_update_gauge(name: &str, value: f64) {
 pub fn rrd_update_derive(name: &str, value: f64) {
     if let Ok(rrd_cache) = get_rrd_cache() {
         let now = proxmox_time::epoch_f64();
-        if let Err(err) = rrd_cache.update_value(name, now, value, DST::Derive) {
+        if let Err(err) = rrd_cache.update_value(name, now, value, DataSourceType::Derive) {
             log::error!("rrd::update_value '{}' failed - {}", name, err);
         }
     }