From 4ea4381f58043101df038470f8526254364c6cc9 Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Thu, 21 Oct 2021 00:00:10 +0300 Subject: [PATCH] output to main --- src/grafana_service.rs | 7 +++---- src/grafana_service/prometheus.rs | 2 +- src/main.rs | 10 +++++++++- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/grafana_service.rs b/src/grafana_service.rs index 07bdf6b..81fbda2 100644 --- a/src/grafana_service.rs +++ b/src/grafana_service.rs @@ -1,4 +1,4 @@ -use crate::types; +use crate::{metric::MetricResult, types}; use hyper::{Body, Client, Method, Request, StatusCode}; use tokio::io::{stdout, AsyncWriteExt as _}; @@ -34,7 +34,7 @@ impl GrafanaService { Ok(()) } - pub async fn extract_metrics(&self, panel_url: &str) -> types::Result<()> { + pub async fn extract_metrics(&self, panel_url: &str) -> types::Result { let pm = prometheus::Prometheus::new( self, "/api/datasources/proxy/1/api/v1/query_range", @@ -43,8 +43,7 @@ impl GrafanaService { ); let r = pm.query(1634672070, 1634672970).await?; - - Ok(()) + Ok(r) } async fn get(&self, suburl: &str) -> types::Result<(StatusCode, serde_json::Value)> { diff --git a/src/grafana_service/prometheus.rs b/src/grafana_service/prometheus.rs index 76dd494..06d4b82 100644 --- a/src/grafana_service/prometheus.rs +++ b/src/grafana_service/prometheus.rs @@ -71,7 +71,7 @@ fn parse_result(value: Value) -> types::Result { let mut result = MetricResult::new(); result.insert(metric_name, values.to_owned()); - println!("{:?}", result); + // println!("{:?}", result); return Ok(result); } diff --git a/src/main.rs b/src/main.rs index bb8d51f..8f1d86d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,8 +29,16 @@ async fn main() -> types::Result<()> { // gs.test_connection().await?; // gs.get_datasources().await?; - gs.extract_metrics("http://localhost:3000/d/YeBxHjzWz/starter-app-stats?editPanel=2&orgId=1") + let r = gs.extract_metrics("http://localhost:3000/d/YeBxHjzWz/starter-app-stats?editPanel=2&orgId=1") .await?; + let key = r.keys().nth(0).unwrap(); + println!("{}", key); + + let vs = &r[key]; + for (t, v) in vs.iter() { + println!("{}\t{}", t, v); + } + Ok(()) }