From 0ee86ff313dd068204e3b3f34eb9d606b17f6aa5 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Sat, 7 Jul 2018 20:08:14 -0700 Subject: [PATCH] Map counters to metrics --- src/counter.rs | 11 +++++++++++ src/metrics.rs | 1 + 2 files changed, 12 insertions(+) diff --git a/src/counter.rs b/src/counter.rs index 11444bfa57..0ca08db24e 100644 --- a/src/counter.rs +++ b/src/counter.rs @@ -1,3 +1,5 @@ +use influx_db_client as influxdb; +use metrics; use std::sync::atomic::{AtomicUsize, Ordering}; use std::time::Duration; use timing; @@ -45,6 +47,15 @@ impl Counter { timing::timestamp(), ); } + metrics::submit( + influxdb::Point::new(&format!("counter_{}", self.name)) + .add_field("count", influxdb::Value::Integer(events as i64)) + .add_field( + "duration_ms", + influxdb::Value::Integer(timing::duration_as_ms(&dur) as i64), + ) + .to_owned(), + ); } } #[cfg(test)] diff --git a/src/metrics.rs b/src/metrics.rs index e172fe5908..05261137a0 100644 --- a/src/metrics.rs +++ b/src/metrics.rs @@ -56,6 +56,7 @@ impl InfluxDbMetricsWriter { impl MetricsWriter for InfluxDbMetricsWriter { fn write(&self, points: Vec) { if let Some(ref client) = self.client { + info!("submitting {} points", points.len()); if let Err(err) = client.write_points( influxdb::Points { point: points }, Some(influxdb::Precision::Milliseconds),