RRDtool
rrdrubySYNOPSISrequire "RRD" RRD.create( rrd, "--step", "300", "DS:a:GAUGE:600:U:U", "DS:b:GAUGE:600:U:U", "RRA:AVERAGE:0.5:1:300") DESCRIPTIONThe rrdtool functions are directly callable via the Ruby programming language. This wrapper implementation has been written from the scratch (without SWIG) The API simply expects string parameters to the functions. Please refer to the other rrdtool documentation for functions and valid arguments. EXAMPLE$: << '/path/to/rrdtool/lib/ruby/1.8/i386-linux' require "RRD" name = "test" rrd = "#{name}.rrd" start = Time.now.to_i RRD.create( rrd, "--start", "#{start - 1}", "--step", "300", "DS:a:GAUGE:600:U:U", "DS:b:GAUGE:600:U:U", "RRA:AVERAGE:0.5:1:300") puts puts "updating #{rrd}" start.to_i.step(start.to_i + 300 * 300, 300) { |i| RRD.update(rrd, "#{i}:#{rand(100)}:#{Math.sin(i / 800) * 50 + 50}") } puts puts "fetching data from #{rrd}" (fstart, fend, data, step) = RRD.fetch(rrd, "--start", start.to_s, "--end", (start + 300 * 300).to_s, "AVERAGE") puts "got #{data.length} data points from #{fstart} to #{fend}" puts puts "generating graph #{name}.png" RRD.graph( "#{name}.png", "--title", " RubyRRD Demo", "--start", "#{start+3600}", "--end", "start + 1000 min", "--interlace", "--imgformat", "PNG", "--width=450", "DEF:a=#{rrd}:a:AVERAGE", "DEF:b=#{rrd}:b:AVERAGE", "CDEF:line=TIME,2400,%,300,LT,a,UNKN,IF", "AREA:b#00b6e4:beta", "AREA:line#0022e9:alpha", "LINE3:line#ff0000") puts If you use the --ruby-site-install configure option you can drop the $: line since the RRDtool module will be found automatically. If RRDtool runs into trouble, it will throw an exception which you might want to catch. SEE ALSOrrdcreate, rrdupdate, rrdgraph, rrddump, rrdfetch, rrdtune, rrdlast, rrdxport, rrdinfo AUTHORLoïs Lherbier <lois.lherbier@covadis.ch> Miles Egan <miles@caddr.com> POD ERRORSHey! The above document had some coding errors, which are explained below:
|
|
02/04/2019 | Loïs Lherbier | OETIKER+PARTNER AG
|
NOTE: The content of this website is accessible with any browser. The graphical design though relies completely on CSS2 styles. If you see this text, this means that your browser does not support CSS2. Consider upgrading to a standard conformant browser like Mozilla Firefox or Opera but also Apple's Safari or KDE's Konqueror for example. It may also be that you are looking at a mirror page which did not copy the CSS for this page. Or if some pictu res are missing, then the mirror may not have picked up the contents of the inc directory.