Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

t3hk0d3/rrd-ruby

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RRD::Ruby

Native ruby implementation of RRD format parsing. Don't need all these pesky C libraries.

Doesn't include any update functionality, so you still have to use rrdtool to update your data.

Installation

Add this line to your application's Gemfile:

gem 'rrd-ruby'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rrd-ruby

Usage

require 'rrd'

file = RRD::File.new("path/to/my_awesome.rrd")

# Get all Round Robin Archive infos
rra = file.rra

# Get all DataSource infos
ds = file.datasources

# Get all data from RRA in specified time interval
data = file.data(rra.first).fetch(start_time: 20.minutes.ago, end_time: 5.minutes.ago)

# Format data right in reading loop (perfomance for perfomance god!)
data = file.data(rra.first).fetch do |row, columns|
	columns # => [:time, :col1, :col2, :col3]
	row # => [123345345, 123.0, 456.0, 789.0]	

	# turn em into hash
	Hash[columns.zip(row)] # => { time: 123345345, col1: 123.0, col2: 456.0, col3: 789.0 }
end
# => [... , { time: 123345345, col1: 123.0, col2: 456.0, col3: 789.0 }, ...]

# All data read from file stream, right on spot
file.close

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

About

Native ruby implementation of RRD file parser.

Resources

License

LGPL-3.0, MIT licenses found

Licenses found

LGPL-3.0
LICENSE
MIT
LICENSE.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.