tagged array creation rework

pull/6/head
prplV 2025-02-21 14:18:48 +03:00
parent b30e940df7
commit 6228b2393d
2 changed files with 12 additions and 10 deletions

View File

@ -21,8 +21,8 @@ impl JsonParser {
return Value::Null; return Value::Null;
} }
let mut vec_value: Vec<Value> = Vec::new(); // let mut vec_value: Vec<Value> = Vec::new();
let mut array_key = String::new(); // let mut array_key = String::new();
let mut value_json: Value = serde_json::from_str(json).unwrap_or(Value::Null); let mut value_json: Value = serde_json::from_str(json).unwrap_or(Value::Null);
let target_attr_vec = target.addr let target_attr_vec = target.addr
@ -97,16 +97,18 @@ impl JsonParser {
.enumerate() .enumerate()
.map(|(idx, val)| { .map(|(idx, val)| {
let val = val.get(tag_name).unwrap_or(&Value::Null).clone(); let val = val.get(tag_name).unwrap_or(&Value::Null).clone();
(serde_json::from_value::<serde_json::Map<String, Value>>(json!({tag_name: val})), (serde_json::from_value::<serde_json::Map<String, Value>>(
json!({"tag_name": tag_name, "tag_value": val})
),
serde_json::from_value::<serde_json::Map<String, Value>>(metrics[idx].clone())) serde_json::from_value::<serde_json::Map<String, Value>>(metrics[idx].clone()))
}) })
.for_each(|(key, val)| { .for_each(|(tags, val)| {
// dbg!(&key); if val.is_ok() && tags.is_ok() {
if key.is_ok() && val.is_ok() { let mut tags = tags.unwrap();
let mut key = key.unwrap();
let mut val = val.unwrap(); let mut val = val.unwrap();
key.append(&mut val); tags.append(&mut val);
values.push(json!(key)); dbg!(&tags);
values.push(json!(tags));
} }
}); });
if values.len() == 0 { if values.len() == 0 {

View File

@ -14,7 +14,7 @@ use dotenv::dotenv;
use crate::json::JsonParser; use crate::json::JsonParser;
use crate::export::Exporter; use crate::export::Exporter;
use integr_structs::api::v3::{Config, ConfigEndpoint, Credentials, Metrics, PrometheusMetrics}; use integr_structs::api::v3::{Config, ConfigEndpoint, Credentials, Metrics, PrometheusMetrics};
use md5::compute; // use md5::compute;
// type BufferType = Arc<Mutex<Vec<String>>>; // type BufferType = Arc<Mutex<Vec<String>>>;