rrd_cache: use proxmox-rrd
from proxmox
workspace
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>
This commit is contained in:
parent
d4a4d0cf52
commit
f0c26122e0
@ -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" }
|
||||
|
2
debian/control
vendored
2
debian/control
vendored
@ -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,
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user