subbeat
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
774 B

use anyhow;
// A simple type alias so as to DRY.
pub type Result<T> = anyhow::Result<T>;
pub type TimeSerie = Vec<(u64, f64)>;
#[derive(Clone)]
pub struct PrometheusConfig {
pub url: String,
pub query: String,
}
#[derive(Clone)]
pub struct InfluxConfig {
pub url: String,
pub org_id: String,
pub token: String,
pub query: String,
}
#[derive(Clone)]
pub struct GrafanaConfig {
pub url: String,
pub api_key: String,
pub datasource_url: String,
pub query: String,
}
#[derive(Clone)]
pub enum DatasourceConfig {
Grafana(GrafanaConfig),
Prometheus(PrometheusConfig),
Influx(InfluxConfig),
}
pub struct QueryConfig {
pub datasource_config: DatasourceConfig,
pub from: u64,
pub to: u64,
pub step: u64,
}