use subbeat::datasources::grafana; mod cli; mod types; #[tokio::main] async fn main() -> types::Result<()> { let cli = cli::CLI::new(); let gs = grafana::Grafana::new( cli.query_config.url.to_string(), cli.query_config.key.to_string(), ); // gs.test_connection().await?; // gs.get_datasources().await?; // "http://localhost:3000/d/YeBxHjzWz/starter-app-stats?editPanel=2&orgId=1" let r = gs .extract_metrics( &cli.query_config.datasource_url, &cli.query_config.query, cli.query_config.from, cli.query_config.to, cli.query_config.step, ) .await?; let key = r.data.keys().nth(0).unwrap(); println!("{}", key); let vs = &r.data[key]; for (t, v) in vs.iter() { println!("{}\t{}", t, v); } Ok(()) }