squiddy / homer

A statsd compatible stats aggregator written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Homer CI

Homer is a statsd-compatible stats aggregator written in Rust. I'm basing this implementation on github's statsd implementation 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

  • configuration loading
  • statsd
    • receive packets via UDP
    • basic packet parsing (no support for sampling rates)
    • performance (recvmmsg, multi thread)
  • aggregation
    • counter
    • gauge
    • timer
    • sets (maybe later)
  • carbon
    • plain text protocol
    • 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.

About

A statsd compatible stats aggregator written in Rust

License:MIT License


Languages

Language:Rust 97.4%Language:Shell 2.6%