1 unstable release
0.1.79 | Feb 25, 2024 |
---|
#1818 in Database interfaces
57KB
1.5K
SLoC
librrd-sys
Rust FFI library wrapping librrd for interacting with round robin databases created with Tobias Oetiker's rrdtool (https://www.rrdtool.org/).
Current Functionality (0.1.79)
- ✅
create
- ✅
dump
- ⛔️
export
- Segfault - ⛔️
fetch
- Segfault - ⛔️
graph
- Generates image but then segfaults - ✅
info
- ✅
last
- ✅
lastupdate
- 🔶
list
- Needs further testing, should work - ✅
resize
- 🔶
restore
- Needs further testing, should work - ✅
tune
- ✅
update
Usage
- Check the provided examples for very basic usage. Check the associated RRDTool man page for complete usage info.
To Do
- Try to fix
export
,fetch
, andgraph
- Implement
updatev
- Set up rrdcached to fully test
list
- Set up an xml file to fully test
restore
- Maybe implement the stubs in
misc.rs
Building
- Install
librrd-dev
or the equivalent package for your OS - Include this crate in your dependencies
[dependencies]
librrd-sys = "0.1"
build.rs
should automatically findlibrrd
if you're on linux or macos, and should include the appropriatewrapper.h
variant.
Windows
- Currently no windows support, will be added soon-ish maybe.
Examples
- Start with
create
which will generate a very simple RRD file with one data store and one RRA. This should appear in the base directory ascreatetest.rrd
. - Everything else should just use that RRD file to do perform its namesake functionality.
Help
- FFI is Rust hard-mode and I'm pretty stuck trying to fix those segfaults. If by some chance a fellow rustacean finds this repo, I am certainly open to advice/assistance.
librrd-sys v0.1.79 2024-Feb-25
Dependencies
~0–1.9MB
~38K SLoC