/usr/share/doc/rrdtool/examples/test.rb is in rrdtool 1.4.7-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #!/usr/bin/env ruby
# $Id: test.rb,v 1.2 2002/10/22 17:34:00 miles Exp $
# Driver does not carry cash.
$: << '/scratch/rrd12build/lib/ruby/1.8/i386-linux/'
require "RRD"
name = "test"
rrd = "#{name}.rrd"
start_time = Time.now.to_i
end_time = start_time.to_i + 300 * 300
puts "creating #{rrd}"
RRD.create(
rrd,
"--start", "#{start_time - 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_time.step(end_time, 300) { |i|
RRD.update(rrd, "#{i}:#{rand(100)}:#{Math.sin(i / 800) * 50 + 50}")
}
puts
puts "fetching data from #{rrd}"
(fstart, fend, data) = RRD.fetch(rrd, "--start", start_time.to_s, "--end", end_time.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_time+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
# last method test
if end_time != RRD.last("#{rrd}").to_i
puts "last method expects #{Time.at(end_time)}."
puts " But #{RRD.last("#{rrd}")} returns."
end
puts
# xport method test
puts "xporting data from #{rrd}"
(fstart,fend,step,col,legend,data)=RRD.xport(
"--start", start_time.to_s,
"--end", (start_time + 300 * 300).to_s,
"--step", 10.to_s,
"DEF:A=#{rrd}:a:AVERAGE",
"DEF:B=#{rrd}:b:AVERAGE",
"XPORT:A:a",
"XPORT:B:b")
puts "Xported #{col} columns(#{legend.join(", ")}) with #{data.length} rows from #{fstart} to #{fend} and step #{step}\n"
print "This script has created #{name}.png in the current directory\n";
print "This demonstrates the use of the TIME and % RPN operators\n";
|