https://github.com/squiddy/homer
A statsd compatible stats aggregator written in Rust
https://github.com/squiddy/homer
rust statsd statsd-server
Last synced: about 1 year ago
JSON representation
A statsd compatible stats aggregator written in Rust
- Host: GitHub
- URL: https://github.com/squiddy/homer
- Owner: squiddy
- License: mit
- Created: 2019-06-08T05:06:28.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-02-07T19:52:12.000Z (over 6 years ago)
- Last Synced: 2025-03-15T03:48:07.206Z (over 1 year ago)
- Topics: rust, statsd, statsd-server
- Language: Rust
- Homepage:
- Size: 15.6 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Homer 
Homer is a [statsd](https://github.com/etsy/statsd)-compatible stats
aggregator written in Rust. I'm basing this implementation on github's statsd
implementation [brubeck](https://github.com/github/brubeck).
## Why
To write something in Rust. I've been reading statsd related code lately,
especially a C-implementation, and I'd like to see whether I can make it
shorter and easier to understand for my usecase.
## What's working
* [x] configuration loading
* [ ] statsd
* [x] receive packets via UDP
* [x] basic packet parsing (no support for sampling rates)
* [ ] performance (recvmmsg, multi thread)
* [ ] aggregation
* [x] counter
* [ ] gauge
* [ ] timer
* [ ] sets (maybe later)
* [ ] carbon
* [x] plain text protocol
* [x] periodic flushing
* [ ] pickle protocol (maybe later)
* [ ] logging
* [ ] proper error handling
## Setup
Get the nightly rust compiler in version 1.36.0 and run `cargo run`.
Configuration is possible by editing the `config.toml` in the working
directory.