Skip to content

Commit 029a5d9

Browse files
committed
fix: splitting data to avoid too many metadata error
1 parent f88d107 commit 029a5d9

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

src/exporters/warpten.rs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ impl Warp10Exporter {
158158
write_token: &str,
159159
//read_token: Option<&str>,
160160
qemu: bool,
161-
) -> Result<warp10::Warp10Response, warp10::Error> {
161+
) -> Result<Vec<warp10::Warp10Response>, warp10::Error> {
162162
let client = warp10::Client::new(&format!("{}://{}:{}", scheme, host, port))?;
163163
let writer = client.get_writer(write_token.to_string());
164164
self.topology
@@ -180,6 +180,7 @@ impl Warp10Exporter {
180180
labels.clone(),
181181
warp10::Value::Double(scaphandre_version.parse::<f64>().unwrap()),
182182
)];
183+
183184
if let Some(metric_value) = self
184185
.topology
185186
.get_process_cpu_consumption_percentage(procfs::process::Process::myself().unwrap().pid)
@@ -341,6 +342,20 @@ impl Warp10Exporter {
341342
}
342343
}
343344

345+
let res = writer.post_sync(data)?;
346+
347+
let mut results = vec![];
348+
349+
results.push(res);
350+
351+
let mut process_data = vec![warp10::Data::new(
352+
time::OffsetDateTime::now_utc(),
353+
None,
354+
String::from("scaph_self_version"),
355+
labels.clone(),
356+
warp10::Value::Double(scaphandre_version.parse::<f64>().unwrap()),
357+
)];
358+
344359
let processes_tracker = &self.topology.proc_tracker;
345360
for pid in processes_tracker.get_alive_pids() {
346361
let exe = processes_tracker.get_process_name(pid);
@@ -367,7 +382,7 @@ impl Warp10Exporter {
367382
exe
368383
);
369384
if let Some(power) = self.topology.get_process_power_consumption_microwatts(pid) {
370-
data.push(warp10::Data::new(
385+
process_data.push(warp10::Data::new(
371386
time::OffsetDateTime::now_utc(),
372387
None,
373388
metric_name,
@@ -376,7 +391,7 @@ impl Warp10Exporter {
376391
));
377392
}
378393
}
379-
let res = writer.post_sync(data)?;
394+
let process_res = writer.post_sync(process_data)?;
380395

381396
//if let Some(token) = read_token {
382397
//let reader = client.get_reader(token.to_owned());
@@ -393,8 +408,10 @@ impl Warp10Exporter {
393408
//Err(err) => panic!("error is: {:?}", err)
394409
//}
395410
//}
411+
412+
results.push(process_res);
396413

397-
Ok(res)
414+
Ok(results)
398415
}
399416
}
400417

0 commit comments

Comments
 (0)