[go: up one dir, main page]

cadence 0.3.0

An extensible Statsd client for Rust
Documentation
#![feature(test)]
extern crate test;
extern crate cadence;

use test::Bencher;

use cadence::{
    StatsdClient,
    Counted,
    Timed,
    Gauged,
    Metered,
    NopMetricSink
};


fn new_nop_client() -> StatsdClient<NopMetricSink> {
    StatsdClient::from_sink("test.bench", NopMetricSink)
}


#[bench]
fn test_benchmark_statsdclient_count(b: &mut Bencher) {
    let client = new_nop_client();
    b.iter(|| client.count("some.counter", 4));
}


#[bench]
fn test_benchmark_statsdclient_incr(b: &mut Bencher) {
    let client = new_nop_client();
    b.iter(|| client.incr("some.counter.incr"));
}


#[bench]
fn test_benchmark_statsdclient_decr(b: &mut Bencher) {
    let client = new_nop_client();
    b.iter(|| client.decr("some.counter.decr"));
}


#[bench]
fn test_benchmark_statsdclient_time(b: &mut Bencher) {
    let client = new_nop_client();
    b.iter(|| client.time("some.timer", 4));
}


#[bench]
fn test_benchmark_statsdclient_gauge(b: &mut Bencher) {
    let client = new_nop_client();
    b.iter(|| client.gauge("some.gauge", 4));
}


#[bench]
fn test_benchmark_statsdclient_meter(b: &mut Bencher) {
    let client = new_nop_client();
    b.iter(|| client.meter("some.meter", 4));
}


#[bench]
fn test_benchmark_statsdclient_mark(b: &mut Bencher) {
    let client = new_nop_client();
    b.iter(|| client.mark("some.meter.mark"));
}