Browse Source

adds pub fn secs(Duration) -> f64 at crate root and InfluxWriter::secs(&self, Duration) -> f64

master
Jonathan Strong 5 years ago
parent
commit
aa5cdf2b3b
2 changed files with 12 additions and 1 deletions
  1. +6
    -1
      src/influx.rs
  2. +6
    -0
      src/lib.rs

+ 6
- 1
src/influx.rs View File

@@ -258,13 +258,18 @@ impl InfluxWriter {
pub fn dur_nanos_u64(&self, d: Duration) -> u64 { dur_nanos(d).max(0) as u64 }

#[cfg_attr(feature = "inlines", inline)]
pub fn secs(&self, d: Duration) -> f64 {
pub fn rsecs(&self, d: Duration) -> f64 {
((d.as_secs() as f64 + (d.subsec_nanos() as f64 / 1_000_000_000_f64))
* 1000.0)
.round()
/ 1000.0
}

#[cfg_attr(feature = "inlines", inline)]
pub fn secs(&self, d: Duration) -> f64 {
d.as_secs() as f64 + d.subsec_nanos() as f64 / 1_000_000_000_f64
}

pub fn tx(&self) -> Sender<Option<OwnedMeasurement>> {
self.tx.clone()
}


+ 6
- 0
src/lib.rs View File

@@ -29,6 +29,7 @@ extern crate zmq;
#[cfg(feature = "latency")]
extern crate pubsub as pub_sub;

use std::time::Duration;
use chrono::{DateTime, Utc, TimeZone as ChronoTZ};
#[allow(unused_imports)]
use sloggers::Build;
@@ -66,6 +67,11 @@ pub fn nanos(t: DateTime<Utc>) -> u64 {
(t.timestamp() as u64) * 1_000_000_000_u64 + (t.timestamp_subsec_nanos() as u64)
}

#[inline]
pub fn secs(d: Duration) -> f64 {
d.as_secs() as f64 + d.subsec_nanos() as f64 / 1_000_000_000_f64
}

#[inline]
pub fn inanos(t: DateTime<Utc>) -> i64 {
t.timestamp() * 1_000_000_000i64 + t.timestamp_subsec_nanos() as i64


Loading…
Cancel
Save