Alexey Velikiy
3 years ago
4 changed files with 24 additions and 13 deletions
@ -1,2 +1,22 @@ |
|||||||
|
use crate::{ |
||||||
|
metric::Metric, |
||||||
|
types::{DatasourceType, QueryConfig}, |
||||||
|
}; |
||||||
|
|
||||||
pub mod grafana; |
pub mod grafana; |
||||||
pub mod prometheus; |
pub mod prometheus; |
||||||
|
|
||||||
|
pub fn resolve(query_config: &QueryConfig) -> Box<dyn Metric> { |
||||||
|
if query_config.datasource_type == DatasourceType::Grafana { |
||||||
|
let gs = grafana::Grafana::new( |
||||||
|
query_config.url.to_string(), |
||||||
|
query_config.key.to_string(), |
||||||
|
query_config.datasource_url.to_string(), |
||||||
|
query_config.query.to_string(), |
||||||
|
); |
||||||
|
return Box::new(gs); |
||||||
|
} else { |
||||||
|
let pm = prometheus::Prometheus::new(&query_config.url, &query_config.query); |
||||||
|
return Box::new(pm); |
||||||
|
} |
||||||
|
} |
||||||
|
Loading…
Reference in new issue