DogstatsD Parser

Build Status Crate

Parses (part of) the (Dog)StatsD protocol and returns a struct with the values:

```rust

[test]

fn teststatsdcounterwithsamplerateandtags() { let mut tags = HashMap::new(); tags.insert("foo".tostring(), "bar".tostring()); tags.insert("moo".tostring(), "maa".to_string());

let expected = ParseResult {
    name: "gorets".to_string(),
    value: 1.0,
    metric_type: MetricType::Counter,
    sample_rate: 0.9,
    tags: tags
};

assert_eq!(parse("gorets:1|c|@0.9|#foo:bar,moo:maa"), expected);

} ```

License

Licensed under either of

at your option.

Contribution

Contributions are very welcome. Please make sure that you add a test for any use case you want to add.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.