Struct dogstatsd::Client
[−]
[src]
pub struct Client { /* fields omitted */ }
The client struct that handles sending metrics to the Dogstatsd server.
Methods
impl Client
[src]
fn new(options: Options) -> Result<Self, DogstatsdError>
Create a new client from an options struct.
Examples
use dogstatsd::{Client, Options}; let client = Client::new(Options::default()).unwrap();
fn incr<S: Into<String>>(&self, stat: S, tags: Vec<String>) -> DogstatsdResult
Increment a StatsD counter
Examples
use dogstatsd::{Client, Options}; let client = Client::new(Options::default()).unwrap(); client.incr("counter", vec!["tag:counter".into()]) .unwrap_or_else(|e| println!("Encountered error: {}", e));
fn decr<S: Into<String>>(&self, stat: S, tags: Vec<String>) -> DogstatsdResult
Decrement a StatsD counter
Examples
use dogstatsd::{Client, Options}; let client = Client::new(Options::default()).unwrap(); client.decr("counter", vec!["tag:counter".into()]) .unwrap_or_else(|e| println!("Encountered error: {}", e));
fn time<S: Into<String>, F: FnOnce()>(&self,
stat: S,
tags: Vec<String>,
block: F)
-> DogstatsdResult
stat: S,
tags: Vec<String>,
block: F)
-> DogstatsdResult
Time how long it takes for a block of code to execute.
Examples
use dogstatsd::{Client, Options}; use std::thread; use std::time::Duration; let client = Client::new(Options::default()).unwrap(); client.time("timer", vec!["tag:time".into()], || { thread::sleep(Duration::from_millis(200)) }).unwrap_or_else(|e| println!("Encountered error: {}", e))
fn timing<S: Into<String>>(&self,
stat: S,
ms: i64,
tags: Vec<String>)
-> DogstatsdResult
stat: S,
ms: i64,
tags: Vec<String>)
-> DogstatsdResult
Send your own timing metric in milliseconds
Examples
use dogstatsd::{Client, Options}; let client = Client::new(Options::default()).unwrap(); client.timing("timing", 350, vec!["tag:timing".into()]) .unwrap_or_else(|e| println!("Encountered error: {}", e));
fn gauge<S: Into<String>>(&self,
stat: S,
val: S,
tags: Vec<String>)
-> DogstatsdResult
stat: S,
val: S,
tags: Vec<String>)
-> DogstatsdResult
Report an arbitrary value as a gauge
Examples
use dogstatsd::{Client, Options}; let client = Client::new(Options::default()).unwrap(); client.gauge("gauge", "12345", vec!["tag:gauge".into()]) .unwrap_or_else(|e| println!("Encountered error: {}", e));
fn histogram<S: Into<String>>(&self,
stat: S,
val: S,
tags: Vec<String>)
-> DogstatsdResult
stat: S,
val: S,
tags: Vec<String>)
-> DogstatsdResult
Report a value in a histogram
Examples
use dogstatsd::{Client, Options}; let client = Client::new(Options::default()).unwrap(); client.histogram("histogram", "67890", vec!["tag:histogram".into()]) .unwrap_or_else(|e| println!("Encountered error: {}", e));
fn set<S: Into<String>>(&self,
stat: S,
val: S,
tags: Vec<String>)
-> DogstatsdResult
stat: S,
val: S,
tags: Vec<String>)
-> DogstatsdResult
Report a value in a set
Examples
use dogstatsd::{Client, Options}; let client = Client::new(Options::default()).unwrap(); client.set("set", "13579", vec!["tag:set".into()]) .unwrap_or_else(|e| println!("Encountered error: {}", e));
fn event<S: Into<String>>(&self,
title: S,
text: S,
tags: Vec<String>)
-> DogstatsdResult
title: S,
text: S,
tags: Vec<String>)
-> DogstatsdResult
Send a custom event as a title and a body
Examples
use dogstatsd::{Client, Options}; let client = Client::new(Options::default()).unwrap(); client.event("Event Title", "Event Body", vec!["tag:event".into()]) .unwrap_or_else(|e| println!("Encountered error: {}", e));