Skip to content

rust bindings to librrd, a round robin database

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

cygnus9/rrd-rust

Repository files navigation

Docs

rrd

Bindings to librrd to create and interact with round robin databases created with Tobias Oetiker's rrdtool.

RRDtool is the OpenSource industry standard, high performance data logging and graphing system for time series data. RRDtool can be easily integrated in shell scripts, perl, python, ruby, lua or tcl applications.

And now also from Rust.

Supported operations

This library provides high level APIs for the core RRD operations:

  • Create - make a new round robin database (RRD)
  • Update - add data to an RRD
  • Fetch - get data from an RRD
  • Graph - generate graphs from an RRD
  • Info - get RRD metadata

There are other operations available in the upstream rrdtool (e.g. exporting to XML, tuning parameters, etc), but as they are generally more administrative in nature, this library doesn't expose them (yet?).

Getting Started

Make sure rrdtool (or at least librrd8) is installed on your system. Any reasonable package manager should have librrd packages available, or check here for instructions on building from source.

Then add rrd as a dependency to your project.

[dependencies]
rrd = "0.1.0"

Windows

To link to librrd-8.dll you'll need a .lib file, which is not shipped with the pre-build binaries shipped here.

Follow these steps to create the .lib file:

  1. Download librrd-8.def
  2. From a VS dev shell: lib /def:librrd-8.def /out:librrd-8.lib /machine:x64
  3. Set the LIBRRD environment variable to the full path of librrd-8.lib

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in rrd by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Checking with multiple OSs

Run ./scripts/check-with-different-versions.sh to run tests in several different linux systems with varying librrd versions.

About

rust bindings to librrd, a round robin database

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages