Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

SimpleRRD provides a simple Ruby interface for creating graphs with RRD

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 examples
Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .document
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.markdown
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 simplerrd.gemspec
README.markdown

simplerrd

SimpleRRD is intended to be a simple way to create pretty, usable graphs with RRDTool in Ruby. It has a simple DSL that provides a simple interface to some predefined graph styles, and also models RRDTool's command syntax with Ruby objects for those who want more control.

Synopsis:

require 'simplerrd'
include SimpleRRD

graph = FancyGraph.build do
  title   "Fancy line graph"

  width    640
  height   240
  end_at   Time.at(1252107236)
  start_at Time.at(1252107236) - (60*60*60*6)

  buffers = data('data/mem/buffers.rrd') # ds_name and cf implied
  free    = data('data/mem/free.rrd')
  cache   = data('data/mem/cache.rrd')

  plot buffers, "Used buffers" # pick color by default, set opacity to 50-80%
  plot free,    "Free space  "
  plot cache,   "Cache used  "
end

graph.generate('fancy_lines.png')

Will produce:

fancy_lines.png

and

graph = FancyGraph.build do
  title   "Fancy stacked graph"

  width    640
  height   240
  end_at   Time.at(1252107236)
  start_at Time.at(1252107236) - (60*60*60*6)

  buffers = data('data/mem/buffers.rrd') # ds_name and cf implied
  free    = data('data/mem/free.rrd')
  cache   = data('data/mem/cache.rrd')

  stack_plot([buffers, "Used buffers"], 
             [free,    "Free space  "],
             [cache,   "Cache used  "])
end

graph.generate('fancy_stack.png')

fancy_stacked.png

A real-world example: complicated_ping.png

More information

For more examples, see the examples/ directory. The create_rrds.rb script will create the RRD data files that the examples use.

Unfortunately, beyond the examples, there's not a lot of documetation yet. The code and specs should be pretty readable, though.

Patches and such are welcome.

Copyright

Copyright (c) 2009 Sam Quigley. See LICENSE for details.

Something went wrong with that request. Please try again.