3 unstable releases
Uses old Rust 2015
0.2.3 | Sep 28, 2015 |
---|---|
0.2.2 | Sep 26, 2015 |
0.0.1 | Aug 6, 2015 |
#6 in #carbon
73KB
689 lines
The graphite ecosystem in one easy-to-install package.
Docker
By far the easiest experience for getting up and running
docker pull xrlx/graphite mkdir data docker run -v ./data:/data xrlx/graphite
Building
Note: you'll need a nightly rust build to build this
$ git clone git@github.com:tureus/graphite-rust.git $ cd graphite-rust $ cargo build --release $ RUST_LOG=debug ./target/debug/carbon
Tasks
- Read headers
- Read single point
- Write to single archive
- Write through all archives with downsampling
- Create files
- Read many points
- [ND] Lock files (not necessary with memmap pattern?)
-
mmap
files (PROFILING) - UDP daemon
- TCP daemon
- Custom schema support when creating new WSPs
- Pickle daemon
- HTTP frontend
- Make logging useful for ops
- Validate .wsp when opening (archives need to cleanly multiply, etc)
Documentation
http://tureus.github.io/graphite-rust
Reference
Documentation for the whisper file format is slim/nil. Clone the official repo and take a look at whisper.py
$ git clone git@github.com:graphite-project/whisper.git
Talking to Carbon
On OSX you need to specify IPv4:
echo -e "local.random.diceroll 4 date +%s
" | nc -4u -w0 localhost 2003
On linux:
echo "local.random.diceroll 4 date +%s
" | nc -u -w 1 localhost 2003
Memory stats:
yum install -y sysstat toolbox sar -B 1
Dependencies
~6.5MB
~111K SLoC