Crate graphite [-] [src]
graphite-rust
Herein lies a humble reimplementation of the graphite metrics system. It's a time series database system, with frontend and management tools, that strikes a reasonable balance between features, ease of management, and a nice network of tools which can talk to graphite.
graphite-rust
aims to maintain total compatibility with features and file format
of your normal graphite installation. Just made easier by one
binary. And possibly higher performance but that's not the main goal right now.
Although I am pursing a batch-write model out the gate -- but that's mostly to understand how to work with vectors.
This work falls under the name graphite
but in reality the package has distinct components you may want to understand:
whisper
- all the heavy lifting for parsing and writing to whisper database filescarbon
- the network daemon which mediates access to whisper filesgraphite
- the HTTP REST server which handles queries. It has a minimal HTML application for creating dashboard but I'll be skipping that. For dashboard you'll wantgrafana
.
Status of the codes:
whisper
- DOES open and parse header/metadata/archive info
- IN PROGRESS take a metric value and provide a WriteOp
- NOT STARTED write
vec![WriteOp]
to file
carbon
- DOESN'T DO ANYTHING
graphite
- DOESN'T EXIST
Also, this is brand-new code. In the true rust spirit it does not guarantee the safety of your kittens.
Modules
whisper |
All the code necessary for creating, reading, and updating whisper database files. The 'standard' for whisper files is defined primarily from the source code. It's a straight-forward format for static allocation of time-series |