librrd 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
+