librrd 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/librrd.gemspec ADDED
@@ -0,0 +1,49 @@
1
+ Gem::Specification.new do |s|
2
+ s.specification_version = 2 if s.respond_to? :specification_version=
3
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
4
+ s.rubygems_version = '1.3.5'
5
+
6
+ ## Leave these as is they will be modified for you by the rake gemspec task.
7
+ ## If your rubyforge_project name is different, then edit it and comment out
8
+ ## the sub! line in the Rakefile
9
+ s.name = 'librrd'
10
+ s.version = '0.1.0'
11
+ s.date = '2010-10-05'
12
+
13
+ s.summary = "Ruby bindings for librrd"
14
+ s.description = "Ruby bindings for librrd. Extracted from the rrdtool source."
15
+
16
+ s.authors = ["Bernd Ahlers"]
17
+ s.email = 'bernd@tuneafish.de'
18
+ s.homepage = 'http://github.com/bernd/librrd-ruby'
19
+ s.extensions = ["ext/librrd/extconf.rb"]
20
+
21
+ ## This gets added to the $LOAD_PATH so that 'lib/NAME.rb' can be required as
22
+ ## require 'NAME.rb' or'/lib/NAME/file.rb' can be as require 'NAME/file.rb'
23
+ s.require_paths = %w[ext]
24
+
25
+ s.rdoc_options = ["--charset=UTF-8"]
26
+ s.extra_rdoc_files = %w[README.md CHANGES.md]
27
+
28
+ s.add_dependency('templater', [">= 1.0.0"])
29
+
30
+ # = MANIFEST =
31
+ s.files = %w[
32
+ CHANGES.md
33
+ COPYING
34
+ COPYRIGHT
35
+ README.md
36
+ Rakefile
37
+ VERSION
38
+ ext/librrd/1.3/main.c
39
+ ext/librrd/1.4/main.c
40
+ ext/librrd/extconf.rb
41
+ librrd.gemspec
42
+ test.rb
43
+ ]
44
+ # = MANIFEST =
45
+
46
+ ## Test files will be grabbed from the file list. Make sure the path glob
47
+ ## matches what you actually use.
48
+ #s.test_files = s.files.select { |path| path =~ /^test\/test_.*\.rb/ }
49
+ end
data/test.rb ADDED
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env ruby
2
+ # $Id: test.rb,v 1.2 2002/10/22 17:34:00 miles Exp $
3
+ # Driver does not carry cash.
4
+
5
+ $: << '/scratch/rrd12build/lib/ruby/1.8/i386-linux/'
6
+
7
+ require "RRD"
8
+
9
+ name = "test"
10
+ rrd = "#{name}.rrd"
11
+ start_time = Time.now.to_i
12
+ end_time = start_time.to_i + 300 * 300
13
+
14
+ puts "creating #{rrd}"
15
+ RRD.create(
16
+ rrd,
17
+ "--start", "#{start_time - 1}",
18
+ "--step", "300",
19
+ "DS:a:GAUGE:600:U:U",
20
+ "DS:b:GAUGE:600:U:U",
21
+ "RRA:AVERAGE:0.5:1:300")
22
+ puts
23
+
24
+ puts "updating #{rrd}"
25
+ start_time.step(end_time, 300) { |i|
26
+ RRD.update(rrd, "#{i}:#{rand(100)}:#{Math.sin(i / 800) * 50 + 50}")
27
+ }
28
+ puts
29
+
30
+ puts "fetching data from #{rrd}"
31
+ (fstart, fend, data) = RRD.fetch(rrd, "--start", start_time.to_s, "--end", end_time.to_s, "AVERAGE")
32
+ puts "got #{data.length} data points from #{fstart} to #{fend}"
33
+ puts
34
+
35
+ puts "generating graph #{name}.png"
36
+ RRD.graph(
37
+ "#{name}.png",
38
+ "--title", " RubyRRD Demo",
39
+ "--start", "#{start_time+3600}",
40
+ "--end", "start + 1000 min",
41
+ "--interlace",
42
+ "--imgformat", "PNG",
43
+ "--width=450",
44
+ "DEF:a=#{rrd}:a:AVERAGE",
45
+ "DEF:b=#{rrd}:b:AVERAGE",
46
+ "CDEF:line=TIME,2400,%,300,LT,a,UNKN,IF",
47
+ "AREA:b#00b6e4:beta",
48
+ "AREA:line#0022e9:alpha",
49
+ "LINE3:line#ff0000")
50
+ puts
51
+
52
+ # last method test
53
+ if end_time != RRD.last("#{rrd}").to_i
54
+ puts "last method expects #{Time.at(end_time)}."
55
+ puts " But #{RRD.last("#{rrd}")} returns."
56
+ end
57
+ puts
58
+
59
+ # xport method test
60
+ if RRD.respond_to?(:xport)
61
+ puts "xporting data from #{rrd}"
62
+ (fstart,fend,step,col,legend,data)=RRD.xport(
63
+ "--start", start_time.to_s,
64
+ "--end", (start_time + 300 * 300).to_s,
65
+ "--step", 10.to_s,
66
+ "DEF:A=#{rrd}:a:AVERAGE",
67
+ "DEF:B=#{rrd}:b:AVERAGE",
68
+ "XPORT:A:a",
69
+ "XPORT:B:b")
70
+ puts "Xported #{col} columns(#{legend.join(", ")}) with #{data.length} rows from #{fstart} to #{fend} and step #{step}\n"
71
+ else
72
+ puts "Skipping xport test, method not available."
73
+ end
74
+
75
+ print "This script has created #{name}.png in the current directory\n";
76
+ print "This demonstrates the use of the TIME and % RPN operators\n";
metadata ADDED
@@ -0,0 +1,93 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: librrd
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Bernd Ahlers
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-10-05 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: templater
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 23
30
+ segments:
31
+ - 1
32
+ - 0
33
+ - 0
34
+ version: 1.0.0
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ description: Ruby bindings for librrd. Extracted from the rrdtool source.
38
+ email: bernd@tuneafish.de
39
+ executables: []
40
+
41
+ extensions:
42
+ - ext/librrd/extconf.rb
43
+ extra_rdoc_files:
44
+ - README.md
45
+ - CHANGES.md
46
+ files:
47
+ - CHANGES.md
48
+ - COPYING
49
+ - COPYRIGHT
50
+ - README.md
51
+ - Rakefile
52
+ - VERSION
53
+ - ext/librrd/1.3/main.c
54
+ - ext/librrd/1.4/main.c
55
+ - ext/librrd/extconf.rb
56
+ - librrd.gemspec
57
+ - test.rb
58
+ has_rdoc: true
59
+ homepage: http://github.com/bernd/librrd-ruby
60
+ licenses: []
61
+
62
+ post_install_message:
63
+ rdoc_options:
64
+ - --charset=UTF-8
65
+ require_paths:
66
+ - ext
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ hash: 3
82
+ segments:
83
+ - 0
84
+ version: "0"
85
+ requirements: []
86
+
87
+ rubyforge_project:
88
+ rubygems_version: 1.3.7
89
+ signing_key:
90
+ specification_version: 2
91
+ summary: Ruby bindings for librrd
92
+ test_files: []
93
+