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),