grempe-amazon-ec2 0.4.5 → 0.4.6

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/Rakefile CHANGED
@@ -1,31 +1,21 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "amazon-ec2"
8
- gem.summary = %Q{Amazon EC2 Ruby Gem}
9
- gem.description = %Q{An interface library that allows Ruby applications to easily connect to the HTTP 'Query API' for the Amazon Web Services Elastic Compute Cloud (EC2) and manipulate cloud servers.}
10
- gem.email = "glenn@rempe.us"
11
- gem.homepage = "http://github.com/grempe/amazon-ec2"
12
- gem.authors = ["Glenn Rempe"]
13
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
14
-
15
- # gem.autorequire = 'EC2'
16
- gem.rdoc_options = ["--quiet", "--title", "amazon-ec2 documentation", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
17
-
18
- gem.rubyforge_project = 'amazon-ec2'
19
-
20
- gem.add_dependency('xml-simple', '>= 1.0.12')
21
- gem.add_development_dependency('mocha', '>= 0.9.5')
22
- gem.add_development_dependency('test-spec', '>= 0.10.0')
23
- gem.add_development_dependency('rcov', '>= 0.8.1.2.0')
24
-
25
- end
26
-
27
- rescue LoadError
28
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
4
+ require 'jeweler'
5
+ Jeweler::Tasks.new do |gem|
6
+ gem.name = "amazon-ec2"
7
+ gem.summary = %Q{Amazon EC2 Ruby Gem}
8
+ gem.description = %Q{An interface library that allows Ruby applications to easily connect to the HTTP 'Query API' for the Amazon Web Services Elastic Compute Cloud (EC2) and manipulate cloud servers.}
9
+ gem.email = "glenn@rempe.us"
10
+ gem.homepage = "http://github.com/grempe/amazon-ec2"
11
+ gem.authors = ["Glenn Rempe"]
12
+ gem.rdoc_options = ["--quiet", "--title", "amazon-ec2 documentation", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
13
+ gem.rubyforge_project = 'amazon-ec2'
14
+ gem.add_dependency('xml-simple', '>= 1.0.12')
15
+ gem.add_development_dependency('mocha', '>= 0.9.7')
16
+ gem.add_development_dependency('test-spec', '>= 0.10.0')
17
+ gem.add_development_dependency('relevance-rcov', '>= 0.8.5.1')
18
+ gem.add_development_dependency('perftools.rb', '= 0.1.6')
29
19
  end
30
20
 
31
21
  require 'rake/testtask'
@@ -44,7 +34,7 @@ begin
44
34
  end
45
35
  rescue LoadError
46
36
  task :rcov do
47
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
37
+ abort "RCov is not available. In order to run rcov, you must: [sudo] gem install relevance-rcov"
48
38
  end
49
39
  end
50
40
 
@@ -91,3 +81,10 @@ begin
91
81
  rescue LoadError
92
82
  puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured."
93
83
  end
84
+
85
+ desc "Generate a perftools.rb profile"
86
+ task :profile do
87
+ system("CPUPROFILE=perftools/ec2prof RUBYOPT='-r/usr/local/lib/ruby/gems/1.8/gems/perftools.rb-0.1.6/lib/perftools.bundle' ruby -r'rubygems' bin/ec2-gem-profile.rb")
88
+ system("pprof.rb --text --ignore=Gem perftools/ec2prof > perftools/ec2prof-results.txt")
89
+ system("pprof.rb --dot --ignore=Gem perftools/ec2prof > perftools/ec2prof-results.dot")
90
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.5
1
+ 0.4.6
data/amazon-ec2.gemspec CHANGED
@@ -1,15 +1,18 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
1
4
  # -*- encoding: utf-8 -*-
2
5
 
3
6
  Gem::Specification.new do |s|
4
7
  s.name = %q{amazon-ec2}
5
- s.version = "0.4.5"
8
+ s.version = "0.4.6"
6
9
 
7
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
11
  s.authors = ["Glenn Rempe"]
9
- s.date = %q{2009-06-11}
12
+ s.date = %q{2009-08-09}
10
13
  s.description = %q{An interface library that allows Ruby applications to easily connect to the HTTP 'Query API' for the Amazon Web Services Elastic Compute Cloud (EC2) and manipulate cloud servers.}
11
14
  s.email = %q{glenn@rempe.us}
12
- s.executables = ["ec2-gem-example.rb", "ec2sh", "setup.rb"]
15
+ s.executables = ["ec2-gem-example.rb", "ec2-gem-profile.rb", "ec2sh", "setup.rb"]
13
16
  s.extra_rdoc_files = [
14
17
  "ChangeLog",
15
18
  "LICENSE",
@@ -24,6 +27,7 @@ Gem::Specification.new do |s|
24
27
  "VERSION",
25
28
  "amazon-ec2.gemspec",
26
29
  "bin/ec2-gem-example.rb",
30
+ "bin/ec2-gem-profile.rb",
27
31
  "bin/ec2sh",
28
32
  "bin/setup.rb",
29
33
  "deps.rip",
@@ -41,6 +45,10 @@ Gem::Specification.new do |s|
41
45
  "lib/EC2/security_groups.rb",
42
46
  "lib/EC2/snapshots.rb",
43
47
  "lib/EC2/volumes.rb",
48
+ "perftools/ec2prof",
49
+ "perftools/ec2prof-results.dot",
50
+ "perftools/ec2prof-results.txt",
51
+ "perftools/ec2prof.symbols",
44
52
  "test/test_EC2.rb",
45
53
  "test/test_EC2_availability_zones.rb",
46
54
  "test/test_EC2_console.rb",
@@ -61,11 +69,12 @@ Gem::Specification.new do |s|
61
69
  "wsdl/2008-05-05.ec2.wsdl",
62
70
  "wsdl/2008-12-01.ec2.wsdl"
63
71
  ]
72
+ s.has_rdoc = true
64
73
  s.homepage = %q{http://github.com/grempe/amazon-ec2}
65
74
  s.rdoc_options = ["--quiet", "--title", "amazon-ec2 documentation", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
66
75
  s.require_paths = ["lib"]
67
76
  s.rubyforge_project = %q{amazon-ec2}
68
- s.rubygems_version = %q{1.3.4}
77
+ s.rubygems_version = %q{1.3.1}
69
78
  s.summary = %q{Amazon EC2 Ruby Gem}
70
79
  s.test_files = [
71
80
  "test/test_EC2.rb",
@@ -87,23 +96,26 @@ Gem::Specification.new do |s|
87
96
 
88
97
  if s.respond_to? :specification_version then
89
98
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
90
- s.specification_version = 3
99
+ s.specification_version = 2
91
100
 
92
101
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
93
102
  s.add_runtime_dependency(%q<xml-simple>, [">= 1.0.12"])
94
- s.add_development_dependency(%q<mocha>, [">= 0.9.5"])
103
+ s.add_development_dependency(%q<mocha>, [">= 0.9.7"])
95
104
  s.add_development_dependency(%q<test-spec>, [">= 0.10.0"])
96
- s.add_development_dependency(%q<rcov>, [">= 0.8.1.2.0"])
105
+ s.add_development_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
106
+ s.add_development_dependency(%q<perftools.rb>, ["= 0.1.6"])
97
107
  else
98
108
  s.add_dependency(%q<xml-simple>, [">= 1.0.12"])
99
- s.add_dependency(%q<mocha>, [">= 0.9.5"])
109
+ s.add_dependency(%q<mocha>, [">= 0.9.7"])
100
110
  s.add_dependency(%q<test-spec>, [">= 0.10.0"])
101
- s.add_dependency(%q<rcov>, [">= 0.8.1.2.0"])
111
+ s.add_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
112
+ s.add_dependency(%q<perftools.rb>, ["= 0.1.6"])
102
113
  end
103
114
  else
104
115
  s.add_dependency(%q<xml-simple>, [">= 1.0.12"])
105
- s.add_dependency(%q<mocha>, [">= 0.9.5"])
116
+ s.add_dependency(%q<mocha>, [">= 0.9.7"])
106
117
  s.add_dependency(%q<test-spec>, [">= 0.10.0"])
107
- s.add_dependency(%q<rcov>, [">= 0.8.1.2.0"])
118
+ s.add_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
119
+ s.add_dependency(%q<perftools.rb>, ["= 0.1.6"])
108
120
  end
109
121
  end
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Basic single command application that we can call with perftools.rb to get consistent results.
4
+
5
+ require File.dirname(__FILE__) + '/../lib/EC2'
6
+ ACCESS_KEY_ID = ENV['AMAZON_ACCESS_KEY_ID']
7
+ SECRET_ACCESS_KEY = ENV['AMAZON_SECRET_ACCESS_KEY']
8
+ ec2 = EC2::Base.new( :access_key_id => ACCESS_KEY_ID, :secret_access_key => SECRET_ACCESS_KEY )
9
+ @images = ec2.describe_images
10
+
data/lib/EC2.rb CHANGED
@@ -118,7 +118,7 @@ module EC2
118
118
  raise ArgumentError, "No :use_ssl value provided" if options[:use_ssl].nil?
119
119
  raise ArgumentError, "Invalid :use_ssl value provided, only 'true' or 'false' allowed" unless options[:use_ssl] == true || options[:use_ssl] == false
120
120
  raise ArgumentError, "No :server provided" if options[:server].nil? || options[:server].empty?
121
-
121
+
122
122
  if options[:port]
123
123
  # user-specified port
124
124
  @port = options[:port]
@@ -158,6 +158,15 @@ module EC2
158
158
  # {"ImageId.1"=>"123", "ImageId.2"=>"456"} returned.
159
159
  def pathlist(key, arr)
160
160
  params = {}
161
+
162
+ # ruby 1.9 will barf if we pass in a string instead of the array expected.
163
+ # it will fail on each_with_index below since string is not enumerable.
164
+ if arr.is_a? String
165
+ new_arr = []
166
+ new_arr << arr
167
+ arr = new_arr
168
+ end
169
+
161
170
  arr.each_with_index do |value, i|
162
171
  params["#{key}.#{i+1}"] = value
163
172
  end
data/perftools/ec2prof ADDED
Binary file
@@ -0,0 +1,193 @@
1
+ digraph "/usr/local/bin/ruby; 2178 samples" {
2
+ node [width=0.375,height=0.25];
3
+ Legend [shape=box,fontsize=24,shape=plaintext,label="/usr/local/bin/ruby\lTotal samples: 2178\lFocusing on: 2170\lDropped nodes with <= 10 abs(samples)\lDropped edges with <= 2 samples\l"];
4
+ N1 [label="XmlSimple#xml_in\n0 (0.0%)\rof 1113 (51.1%)\r",shape=box,fontsize=8.0];
5
+ N2 [label="XmlSimple.xml_in\n0 (0.0%)\rof 993 (45.6%)\r",shape=box,fontsize=8.0];
6
+ N3 [label="REXML\nElement#each_element\n1 (0.0%)\rof 970 (44.5%)\r",shape=box,fontsize=9.1];
7
+ N4 [label="REXML\nElements#each\n24 (1.1%)\rof 970 (44.5%)\r",shape=box,fontsize=13.3];
8
+ N5 [label="XmlSimple#collapse\n24 (1.1%)\rof 970 (44.5%)\r",shape=box,fontsize=13.3];
9
+ N6 [label="REXML\nXPath.each\n1 (0.0%)\rof 970 (44.5%)\r",shape=box,fontsize=9.1];
10
+ N7 [label="EC2\nBase#response_generator\n0 (0.0%)\rof 945 (43.4%)\r",shape=box,fontsize=8.0];
11
+ N8 [label="EC2\nResponse.parse\n0 (0.0%)\rof 934 (42.9%)\r",shape=box,fontsize=8.0];
12
+ N9 [label="EC2\nBase#describe_images\n0 (0.0%)\rof 918 (42.1%)\r",shape=box,fontsize=8.0];
13
+ N10 [label="Class#new\n1 (0.0%)\rof 804 (36.9%)\r",shape=box,fontsize=9.1];
14
+ N11 [label="REXML\nParsers\nTreeParser#parse\n0 (0.0%)\rof 801 (36.8%)\r",shape=box,fontsize=8.0];
15
+ N12 [label="REXML\nDocument#build\n0 (0.0%)\rof 801 (36.8%)\r",shape=box,fontsize=8.0];
16
+ N13 [label="XmlSimple#parse\n0 (0.0%)\rof 801 (36.8%)\r",shape=box,fontsize=8.0];
17
+ N14 [label="REXML\nDocument#initialize\n0 (0.0%)\rof 801 (36.8%)\r",shape=box,fontsize=8.0];
18
+ N15 [label="REXML\nParsers\nBaseParser#pull\n162 (7.4%)\rof 462 (21.2%)\r",shape=box,fontsize=21.7];
19
+ N16 [label="garbage_collector\n352 (16.2%)\r",shape=box,fontsize=28.1];
20
+ N17 [label="REXML\nText#value\n17 (0.8%)\rof 316 (14.5%)\r",shape=box,fontsize=12.4];
21
+ N18 [label="Array#each\n0 (0.0%)\rof 275 (12.6%)\r",shape=box,fontsize=8.0];
22
+ N19 [label="XmlSimple#collapse_text_node\n11 (0.5%)\rof 268 (12.3%)\r",shape=box,fontsize=11.6];
23
+ N20 [label="REXML\nElement#has_text?\n22 (1.0%)\rof 263 (12.1%)\r",shape=box,fontsize=13.0];
24
+ N21 [label="REXML\nElement#text\n14 (0.6%)\rof 241 (11.1%)\r",shape=box,fontsize=12.0];
25
+ N22 [label="XmlSimple#node_to_text\n33 (1.5%)\rof 233 (10.7%)\r",shape=box,fontsize=14.2];
26
+ N23 [label="REXML\nSource#match\n123 (5.6%)\rof 166 (7.6%)\r",shape=box,fontsize=19.9];
27
+ N24 [label="REXML\nParent#each\n21 (1.0%)\rof 155 (7.1%)\r",shape=box,fontsize=12.9];
28
+ N25 [label="REXML\nElement#add_element\n47 (2.2%)\rof 153 (7.0%)\r",shape=box,fontsize=15.4];
29
+ N26 [label="Array#map\n0 (0.0%)\rof 152 (7.0%)\r",shape=box,fontsize=8.0];
30
+ N27 [label="Object#find\n80 (3.7%)\rof 146 (6.7%)\r",shape=box,fontsize=17.6];
31
+ N28 [label="REXML\nDocument#doctype\n80 (3.7%)\rof 140 (6.4%)\r",shape=box,fontsize=17.6];
32
+ N29 [label="REXML\nElement#document\n19 (0.9%)\rof 121 (5.6%)\r",shape=box,fontsize=12.7];
33
+ N30 [label="REXML\nElement#texts\n46 (2.1%)\rof 110 (5.1%)\r",shape=box,fontsize=15.3];
34
+ N31 [label="XmlSimple#has_mixed_content?\n5 (0.2%)\rof 108 (5.0%)\r",shape=box,fontsize=10.4];
35
+ N32 [label="REXML\nElements#add\n18 (0.8%)\rof 107 (4.9%)\r",shape=box,fontsize=12.6];
36
+ N33 [label="REXML\nElement#root\n102 (4.7%)\r",shape=box,fontsize=18.8];
37
+ N34 [label="REXML\nChild#find_all\n50 (2.3%)\rof 101 (4.6%)\r",shape=box,fontsize=15.6];
38
+ N35 [label="REXML\nElement#initialize\n20 (0.9%)\rof 97 (4.5%)\r",shape=box,fontsize=12.8];
39
+ N36 [label="REXML\nParent#add\n79 (3.6%)\rof 95 (4.4%)\r",shape=box,fontsize=17.5];
40
+ N37 [label="REXML\nElement#has_elements?\n12 (0.6%)\rof 95 (4.4%)\r",shape=box,fontsize=11.7];
41
+ N38 [label="REXML\nXPathParser#parse\n0 (0.0%)\rof 86 (3.9%)\r",shape=box,fontsize=8.0];
42
+ N39 [label="REXML\nElements#empty?\n27 (1.2%)\rof 83 (3.8%)\r",shape=box,fontsize=13.6];
43
+ N40 [label="REXML\nParsers\nBaseParser#empty?\n55 (2.5%)\rof 73 (3.4%)\r",shape=box,fontsize=16.0];
44
+ N41 [label="REXML\nChild#find\n49 (2.2%)\rof 72 (3.3%)\r",shape=box,fontsize=15.5];
45
+ N42 [label="XmlSimple#get_attributes\n22 (1.0%)\rof 56 (2.6%)\r",shape=box,fontsize=13.0];
46
+ N43 [label="Set#initialize\n45 (2.1%)\rof 46 (2.1%)\r",shape=box,fontsize=15.2];
47
+ N44 [label="REXML\nParsers\nXPathParser#parse\n0 (0.0%)\rof 44 (2.0%)\r",shape=box,fontsize=8.0];
48
+ N45 [label="REXML\nParsers\nXPathParser#OrExpr\n3 (0.1%)\rof 44 (2.0%)\r",shape=box,fontsize=9.9];
49
+ N46 [label="Regexp#match\n43 (2.0%)\r",shape=box,fontsize=15.0];
50
+ N47 [label="REXML\nXPathParser#match\n2 (0.1%)\rof 42 (1.9%)\r",shape=box,fontsize=9.5];
51
+ N48 [label="REXML\nElement#get_text\n22 (1.0%)\rof 42 (1.9%)\r",shape=box,fontsize=13.0];
52
+ N49 [label="REXML\nParsers\nXPathParser#AndExpr\n3 (0.1%)\rof 41 (1.9%)\r",shape=box,fontsize=9.9];
53
+ N50 [label="REXML\nXPathParser#expr\n27 (1.2%)\rof 40 (1.8%)\r",shape=box,fontsize=13.6];
54
+ N51 [label="REXML\nParent#initialize\n6 (0.3%)\rof 39 (1.8%)\r",shape=box,fontsize=10.6];
55
+ N52 [label="REXML\nText.unnormalize\n38 (1.7%)\r",shape=box,fontsize=14.6];
56
+ N53 [label="REXML\nParsers\nXPathParser#EqualityExpr\n3 (0.1%)\rof 38 (1.7%)\r",shape=box,fontsize=9.9];
57
+ N54 [label="XmlSimple#merge\n7 (0.3%)\rof 37 (1.7%)\r",shape=box,fontsize=10.8];
58
+ N55 [label="REXML\nParsers\nXPathParser#RelationalExpr\n5 (0.2%)\rof 35 (1.6%)\r",shape=box,fontsize=10.4];
59
+ N56 [label="Net\nHTTP#request\n0 (0.0%)\rof 34 (1.6%)\r",shape=box,fontsize=8.0];
60
+ N57 [label="EC2\nBase#make_request\n0 (0.0%)\rof 34 (1.6%)\r",shape=box,fontsize=8.0];
61
+ N58 [label="Net\nHTTP#start\n0 (0.0%)\rof 34 (1.6%)\r",shape=box,fontsize=8.0];
62
+ N59 [label="REXML\nAttributes#each\n16 (0.7%)\rof 34 (1.6%)\r",shape=box,fontsize=12.3];
63
+ N60 [label="REXML\nChild#initialize\n5 (0.2%)\rof 33 (1.5%)\r",shape=box,fontsize=10.4];
64
+ N61 [label="XmlSimple#empty\n33 (1.5%)\r",shape=box,fontsize=14.2];
65
+ N62 [label="REXML\nText#initialize\n32 (1.5%)\rof 33 (1.5%)\r",shape=box,fontsize=14.1];
66
+ N63 [label="Net\nHTTPResponse#read_body_0\n0 (0.0%)\rof 32 (1.5%)\r",shape=box,fontsize=8.0];
67
+ N64 [label="Net\nHTTPResponse#read_chunked\n0 (0.0%)\rof 32 (1.5%)\r",shape=box,fontsize=8.0];
68
+ N65 [label="Net\nHTTPResponse#read_body\n0 (0.0%)\rof 32 (1.5%)\r",shape=box,fontsize=8.0];
69
+ N66 [label="Net\nHTTPResponse#reading_body\n0 (0.0%)\rof 32 (1.5%)\r",shape=box,fontsize=8.0];
70
+ N67 [label="Net\nBufferedIO#read\n1 (0.0%)\rof 32 (1.5%)\r",shape=box,fontsize=9.1];
71
+ N68 [label="Net\nHTTPResponse#body\n0 (0.0%)\rof 32 (1.5%)\r",shape=box,fontsize=8.0];
72
+ N69 [label="Array#delete_if\n0 (0.0%)\rof 32 (1.5%)\r",shape=box,fontsize=8.0];
73
+ N70 [label="XmlSimple#force_array?\n29 (1.3%)\rof 30 (1.4%)\r",shape=box,fontsize=13.8];
74
+ N71 [label="REXML\nParsers\nXPathParser#AdditiveExpr\n5 (0.2%)\rof 30 (1.4%)\r",shape=box,fontsize=10.4];
75
+ N72 [label="Timeout.timeout\n1 (0.0%)\rof 27 (1.2%)\r",shape=box,fontsize=9.1];
76
+ N73 [label="Net\nBufferedIO#rbuf_fill\n1 (0.0%)\rof 27 (1.2%)\r",shape=box,fontsize=9.1];
77
+ N74 [label="Object#timeout\n0 (0.0%)\rof 27 (1.2%)\r",shape=box,fontsize=8.0];
78
+ N75 [label="REXML\nParsers\nXPathParser#MultiplicativeExpr\n1 (0.0%)\rof 25 (1.1%)\r",shape=box,fontsize=9.1];
79
+ N76 [label="REXML\nChild#parent=\n25 (1.1%)\r",shape=box,fontsize=13.4];
80
+ N77 [label="REXML\nParsers\nXPathParser#UnaryExpr\n2 (0.1%)\rof 24 (1.1%)\r",shape=box,fontsize=9.5];
81
+ N78 [label="REXML\nParent#[]\n24 (1.1%)\r",shape=box,fontsize=13.3];
82
+ N79 [label="REXML\nText#to_s\n22 (1.0%)\r",shape=box,fontsize=13.0];
83
+ N80 [label="REXML\nElement#whitespace\n22 (1.0%)\r",shape=box,fontsize=13.0];
84
+ N17 -> N52 [label=38, weight=12, style="setlinewidth(0.105069)"];
85
+ N23 -> N46 [label=43, weight=13, style="setlinewidth(0.118894)"];
86
+ N4 -> N6 [label=2353, weight=229, style="setlinewidth(2.000000)"];
87
+ N35 -> N10 [label=24, weight=9, style="setlinewidth(0.066359)"];
88
+ N22 -> N26 [label=152, weight=33, style="setlinewidth(0.420276)"];
89
+ N6 -> N4 [label=2305, weight=225, style="setlinewidth(2.000000)"];
90
+ N10 -> N62 [label=33, weight=11, style="setlinewidth(0.091244)"];
91
+ N17 -> N29 [label=121, weight=28, style="setlinewidth(0.334562)"];
92
+ N57 -> N58 [label=34, weight=11, style="setlinewidth(0.094009)"];
93
+ N63 -> N64 [label=32, weight=11, style="setlinewidth(0.088479)"];
94
+ N5 -> N61 [label=19, weight=7, style="setlinewidth(0.052535)"];
95
+ N21 -> N48 [label=42, weight=13, style="setlinewidth(0.116129)"];
96
+ N24 -> N18 [label=134, weight=30, style="setlinewidth(0.370507)"];
97
+ N15 -> N10 [label=46, weight=14, style="setlinewidth(0.127189)"];
98
+ N35 -> N51 [label=39, weight=12, style="setlinewidth(0.107834)"];
99
+ N31 -> N30 [label=41, weight=13, style="setlinewidth(0.113364)"];
100
+ N69 -> N50 [label=32, weight=11, style="setlinewidth(0.088479)"];
101
+ N10 -> N35 [label=97, weight=24, style="setlinewidth(0.268203)"];
102
+ N55 -> N71 [label=30, weight=10, style="setlinewidth(0.082949)"];
103
+ N5 -> N31 [label=108, weight=26, style="setlinewidth(0.298618)"];
104
+ N15 -> N23 [label=166, weight=35, style="setlinewidth(0.458986)"];
105
+ N50 -> N69 [label=32, weight=11, style="setlinewidth(0.088479)"];
106
+ N21 -> N17 [label=185, weight=38, style="setlinewidth(0.511521)"];
107
+ N39 -> N41 [label=72, weight=19, style="setlinewidth(0.199078)"];
108
+ N18 -> N41 [label=55, weight=16, style="setlinewidth(0.152074)"];
109
+ N27 -> N18 [label=124, weight=29, style="setlinewidth(0.342857)"];
110
+ N53 -> N55 [label=35, weight=12, style="setlinewidth(0.096774)"];
111
+ N75 -> N77 [label=24, weight=9, style="setlinewidth(0.066359)"];
112
+ N57 -> N56 [label=34, weight=11, style="setlinewidth(0.094009)"];
113
+ N5 -> N19 [label=268, weight=50, style="setlinewidth(0.741014)"];
114
+ N58 -> N57 [label=34, weight=11, style="setlinewidth(0.094009)"];
115
+ N41 -> N24 [label=62, weight=17, style="setlinewidth(0.171429)"];
116
+ N47 -> N50 [label=40, weight=13, style="setlinewidth(0.110599)"];
117
+ N41 -> N39 [label=16, weight=6, style="setlinewidth(0.044240)"];
118
+ N15 -> N40 [label=73, weight=20, style="setlinewidth(0.201843)"];
119
+ N5 -> N37 [label=84, weight=22, style="setlinewidth(0.232258)"];
120
+ N74 -> N72 [label=27, weight=10, style="setlinewidth(0.074654)"];
121
+ N14 -> N12 [label=801, weight=107, style="setlinewidth(2.000000)"];
122
+ N64 -> N67 [label=32, weight=11, style="setlinewidth(0.088479)"];
123
+ N17 -> N28 [label=140, weight=31, style="setlinewidth(0.387097)"];
124
+ N10 -> N14 [label=801, weight=107, style="setlinewidth(2.000000)"];
125
+ N20 -> N21 [label=241, weight=46, style="setlinewidth(0.666359)"];
126
+ N11 -> N10 [label=33, weight=11, style="setlinewidth(0.091244)"];
127
+ N72 -> N73 [label=14, weight=6, style="setlinewidth(0.038710)"];
128
+ N27 -> N28 [label=56, weight=16, style="setlinewidth(0.154839)"];
129
+ N56 -> N66 [label=32, weight=11, style="setlinewidth(0.088479)"];
130
+ N48 -> N27 [label=30, weight=10, style="setlinewidth(0.082949)"];
131
+ N22 -> N30 [label=69, weight=19, style="setlinewidth(0.190783)"];
132
+ N18 -> N27 [label=124, weight=29, style="setlinewidth(0.342857)"];
133
+ N65 -> N63 [label=32, weight=11, style="setlinewidth(0.088479)"];
134
+ N11 -> N80 [label=22, weight=8, style="setlinewidth(0.060829)"];
135
+ N33 -> N33 [label=77, weight=20, style="setlinewidth(0.212903)"];
136
+ N4 -> N5 [label=2408, weight=232, style="setlinewidth(2.000000)"];
137
+ N50 -> N18 [label=5, weight=3, style="setlinewidth(0.013825)"];
138
+ N13 -> N10 [label=801, weight=107, style="setlinewidth(2.000000)"];
139
+ N28 -> N27 [label=116, weight=27, style="setlinewidth(0.320737)"];
140
+ N8 -> N2 [label=934, weight=120, style="setlinewidth(2.000000)"];
141
+ N5 -> N5 [label=2446, weight=235, style="setlinewidth(2.000000)"];
142
+ N49 -> N53 [label=38, weight=12, style="setlinewidth(0.105069)"];
143
+ N5 -> N3 [label=2152, weight=215, style="setlinewidth(2.000000)"];
144
+ N10 -> N32 [label=3, weight=2, style="setlinewidth(0.008295)"];
145
+ N19 -> N22 [label=233, weight=45, style="setlinewidth(0.644240)"];
146
+ N42 -> N59 [label=34, weight=11, style="setlinewidth(0.094009)"];
147
+ N6 -> N38 [label=86, weight=22, style="setlinewidth(0.237788)"];
148
+ N54 -> N70 [label=30, weight=10, style="setlinewidth(0.082949)"];
149
+ N44 -> N45 [label=44, weight=14, style="setlinewidth(0.121659)"];
150
+ N34 -> N24 [label=93, weight=23, style="setlinewidth(0.257143)"];
151
+ N12 -> N11 [label=801, weight=107, style="setlinewidth(2.000000)"];
152
+ N1 -> N5 [label=312, weight=55, style="setlinewidth(0.862673)"];
153
+ N11 -> N78 [label=24, weight=9, style="setlinewidth(0.066359)"];
154
+ N31 -> N37 [label=11, weight=5, style="setlinewidth(0.030415)"];
155
+ N71 -> N75 [label=25, weight=9, style="setlinewidth(0.069124)"];
156
+ N3 -> N4 [label=2226, weight=220, style="setlinewidth(2.000000)"];
157
+ N11 -> N15 [label=462, weight=73, style="setlinewidth(1.277419)"];
158
+ N7 -> N57 [label=34, weight=11, style="setlinewidth(0.094009)"];
159
+ N38 -> N47 [label=42, weight=13, style="setlinewidth(0.116129)"];
160
+ N32 -> N10 [label=97, weight=24, style="setlinewidth(0.268203)"];
161
+ N1 -> N13 [label=801, weight=107, style="setlinewidth(2.000000)"];
162
+ N31 -> N20 [label=29, weight=10, style="setlinewidth(0.080184)"];
163
+ N5 -> N54 [label=37, weight=12, style="setlinewidth(0.102304)"];
164
+ N27 -> N48 [label=10, weight=5, style="setlinewidth(0.027650)"];
165
+ N22 -> N17 [label=131, weight=30, style="setlinewidth(0.362212)"];
166
+ N73 -> N74 [label=27, weight=10, style="setlinewidth(0.074654)"];
167
+ N45 -> N49 [label=41, weight=13, style="setlinewidth(0.113364)"];
168
+ N66 -> N68 [label=32, weight=11, style="setlinewidth(0.088479)"];
169
+ N26 -> N22 [label=152, weight=33, style="setlinewidth(0.420276)"];
170
+ N11 -> N36 [label=95, weight=24, style="setlinewidth(0.262673)"];
171
+ N37 -> N39 [label=83, weight=22, style="setlinewidth(0.229493)"];
172
+ N7 -> N8 [label=911, weight=117, style="setlinewidth(2.000000)"];
173
+ N60 -> N32 [label=28, weight=10, style="setlinewidth(0.077419)"];
174
+ N9 -> N7 [label=918, weight=118, style="setlinewidth(2.000000)"];
175
+ N18 -> N50 [label=5, weight=3, style="setlinewidth(0.013825)"];
176
+ N10 -> N43 [label=46, weight=14, style="setlinewidth(0.127189)"];
177
+ N38 -> N44 [label=44, weight=14, style="setlinewidth(0.121659)"];
178
+ N2 -> N1 [label=993, weight=125, style="setlinewidth(2.000000)"];
179
+ N51 -> N60 [label=33, weight=11, style="setlinewidth(0.091244)"];
180
+ N67 -> N73 [label=26, weight=9, style="setlinewidth(0.071889)"];
181
+ N18 -> N34 [label=79, weight=21, style="setlinewidth(0.218433)"];
182
+ N68 -> N65 [label=32, weight=11, style="setlinewidth(0.088479)"];
183
+ N29 -> N33 [label=102, weight=25, style="setlinewidth(0.282028)"];
184
+ N5 -> N42 [label=56, weight=16, style="setlinewidth(0.154839)"];
185
+ N6 -> N10 [label=3, weight=2, style="setlinewidth(0.008295)"];
186
+ N36 -> N76 [label=16, weight=6, style="setlinewidth(0.044240)"];
187
+ N11 -> N25 [label=153, weight=33, style="setlinewidth(0.423041)"];
188
+ N30 -> N34 [label=101, weight=25, style="setlinewidth(0.279263)"];
189
+ N25 -> N32 [label=104, weight=25, style="setlinewidth(0.287558)"];
190
+ N34 -> N30 [label=37, weight=12, style="setlinewidth(0.102304)"];
191
+ N19 -> N61 [label=14, weight=6, style="setlinewidth(0.038710)"];
192
+ N5 -> N20 [label=234, weight=45, style="setlinewidth(0.647005)"];
193
+ }
@@ -0,0 +1,126 @@
1
+ Total: 2178 samples
2
+ 352 16.2% 16.2% 352 16.2% garbage_collector
3
+ 162 7.4% 23.6% 462 21.2% REXML::Parsers::BaseParser#pull
4
+ 123 5.6% 29.2% 166 7.6% REXML::Source#match
5
+ 102 4.7% 33.9% 102 4.7% REXML::Element#root
6
+ 80 3.7% 37.6% 146 6.7% Object#find
7
+ 80 3.7% 41.3% 140 6.4% REXML::Document#doctype
8
+ 79 3.6% 44.9% 95 4.4% REXML::Parent#add
9
+ 55 2.5% 47.4% 73 3.4% REXML::Parsers::BaseParser#empty?
10
+ 50 2.3% 49.7% 101 4.6% REXML::Child#find_all
11
+ 49 2.2% 52.0% 72 3.3% REXML::Child#find
12
+ 47 2.2% 54.1% 153 7.0% REXML::Element#add_element
13
+ 46 2.1% 56.2% 110 5.1% REXML::Element#texts
14
+ 45 2.1% 58.3% 46 2.1% Set#initialize
15
+ 43 2.0% 60.3% 43 2.0% Regexp#match
16
+ 38 1.7% 62.0% 38 1.7% REXML::Text.unnormalize
17
+ 33 1.5% 63.5% 233 10.7% XmlSimple#node_to_text
18
+ 33 1.5% 65.1% 33 1.5% XmlSimple#empty
19
+ 32 1.5% 66.5% 33 1.5% REXML::Text#initialize
20
+ 29 1.3% 67.9% 30 1.4% XmlSimple#force_array?
21
+ 27 1.2% 69.1% 83 3.8% REXML::Elements#empty?
22
+ 27 1.2% 70.3% 40 1.8% REXML::XPathParser#expr
23
+ 25 1.1% 71.5% 25 1.1% REXML::Child#parent=
24
+ 24 1.1% 72.6% 24 1.1% REXML::Parent#[]
25
+ 24 1.1% 73.7% 970 44.5% REXML::Elements#each
26
+ 24 1.1% 74.8% 970 44.5% XmlSimple#collapse
27
+ 22 1.0% 75.8% 56 2.6% XmlSimple#get_attributes
28
+ 22 1.0% 76.8% 263 12.1% REXML::Element#has_text?
29
+ 22 1.0% 77.8% 22 1.0% REXML::Text#to_s
30
+ 22 1.0% 78.8% 22 1.0% REXML::Element#whitespace
31
+ 22 1.0% 79.8% 42 1.9% REXML::Element#get_text
32
+ 21 1.0% 80.8% 155 7.1% REXML::Parent#each
33
+ 20 0.9% 81.7% 97 4.5% REXML::Element#initialize
34
+ 19 0.9% 82.6% 121 5.6% REXML::Element#document
35
+ 18 0.8% 83.4% 18 0.8% REXML::Source#empty?
36
+ 18 0.8% 84.3% 107 4.9% REXML::Elements#add
37
+ 18 0.8% 85.1% 21 1.0% XmlSimple#fold_arrays
38
+ 17 0.8% 85.9% 316 14.5% REXML::Text#value
39
+ 16 0.7% 86.6% 34 1.6% REXML::Attributes#each
40
+ 14 0.6% 87.2% 241 11.1% REXML::Element#text
41
+ 14 0.6% 87.9% 14 0.6% REXML::Parent#name=
42
+ 13 0.6% 88.5% 13 0.6% OpenSSL::SSL::SSLSocket#sysread
43
+ 13 0.6% 89.1% 13 0.6% REXML::Attributes#initialize
44
+ 12 0.6% 89.6% 95 4.4% REXML::Element#has_elements?
45
+ 12 0.6% 90.2% 12 0.6% REXML::Element#ignore_whitespace_nodes
46
+ 11 0.5% 90.7% 268 12.3% XmlSimple#collapse_text_node
47
+ 11 0.5% 91.2% 15 0.7% Set#each
48
+ 11 0.5% 91.7% 11 0.5% REXML::Elements#initialize
49
+ 11 0.5% 92.2% 12 0.6% Kernel#gem_original_require
50
+ 10 0.5% 92.7% 10 0.5% Hash#each_value
51
+ 10 0.5% 93.1% 19 0.9% REXML::Parent#<<
52
+ 10 0.5% 93.6% 10 0.5% REXML::Element#has_attributes?
53
+ 8 0.4% 93.9% 18 0.8% REXML::Attributes#each_attribute
54
+ 8 0.4% 94.3% 8 0.4% REXML::Element#node_type
55
+ 7 0.3% 94.6% 9 0.4% Thread.start
56
+ 7 0.3% 94.9% 37 1.7% XmlSimple#merge
57
+ 7 0.3% 95.3% 12 0.6% REXML::Parsers::XPathParser#RelativeLocationPath
58
+ 6 0.3% 95.5% 39 1.8% REXML::Parent#initialize
59
+ 6 0.3% 95.8% 22 1.0% REXML::Parsers::XPathParser#UnionExpr
60
+ 5 0.2% 96.1% 20 0.9% Hash#each
61
+ 5 0.2% 96.3% 33 1.5% REXML::Child#initialize
62
+ 5 0.2% 96.5% 108 5.0% XmlSimple#has_mixed_content?
63
+ 5 0.2% 96.7% 35 1.6% REXML::Parsers::XPathParser#RelationalExpr
64
+ 5 0.2% 97.0% 30 1.4% REXML::Parsers::XPathParser#AdditiveExpr
65
+ 5 0.2% 97.2% 5 0.2% REXML::Parsers::XPathParser#NodeTest
66
+ 4 0.2% 97.4% 4 0.2% REXML::Text#node_type
67
+ 4 0.2% 97.6% 4 0.2% Hash#each_key
68
+ 3 0.1% 97.7% 3 0.1% Thread#kill
69
+ 3 0.1% 97.8% 44 2.0% REXML::Parsers::XPathParser#OrExpr
70
+ 3 0.1% 98.0% 38 1.7% REXML::Parsers::XPathParser#EqualityExpr
71
+ 3 0.1% 98.1% 41 1.9% REXML::Parsers::XPathParser#AndExpr
72
+ 2 0.1% 98.2% 16 0.7% REXML::Parsers::XPathParser#PathExpr
73
+ 2 0.1% 98.3% 24 1.1% REXML::Parsers::XPathParser#UnaryExpr
74
+ 2 0.1% 98.4% 2 0.1% Object#sleep
75
+ 2 0.1% 98.5% 2 0.1% String#slice!
76
+ 2 0.1% 98.6% 2 0.1% REXML::Parsers::XPathParser#FilterExpr
77
+ 2 0.1% 98.7% 4 0.2% Net::BufferedIO#rbuf_consume
78
+ 2 0.1% 98.8% 42 1.9% REXML::XPathParser#match
79
+ 2 0.1% 98.9% 3 0.1% REXML::XPathParser#variables=
80
+ 1 0.0% 98.9% 1 0.0% REXML::Element#context=
81
+ 1 0.0% 98.9% 25 1.1% REXML::Parsers::XPathParser#MultiplicativeExpr
82
+ 1 0.0% 99.0% 1 0.0% Hash#[]
83
+ 1 0.0% 99.0% 1 0.0% String#=~
84
+ 1 0.0% 99.1% 804 36.9% Class#new
85
+ 1 0.0% 99.1% 27 1.2% Timeout.timeout
86
+ 1 0.0% 99.2% 970 44.5% REXML::Element#each_element
87
+ 1 0.0% 99.2% 32 1.5% Net::BufferedIO#read
88
+ 1 0.0% 99.3% 1 0.0% REXML::Parent#children
89
+ 1 0.0% 99.3% 1 0.0% REXML::Functions.variables=
90
+ 1 0.0% 99.4% 27 1.2% Net::BufferedIO#rbuf_fill
91
+ 1 0.0% 99.4% 1 0.0% String#<<
92
+ 1 0.0% 99.4% 1 0.0% Object#DelegateClass
93
+ 1 0.0% 99.5% 1 0.0% REXML::Functions.namespace_context=
94
+ 1 0.0% 99.5% 13 0.6% Object#require
95
+ 1 0.0% 99.6% 970 44.5% REXML::XPath.each
96
+ 1 0.0% 99.6% 2 0.1% Net::BufferedIO#readuntil
97
+ 0 0.0% 99.6% 32 1.5% Net::HTTPResponse#read_body_0
98
+ 0 0.0% 99.6% 44 2.0% REXML::Parsers::XPathParser#parse
99
+ 0 0.0% 99.6% 32 1.5% Net::HTTPResponse#read_chunked
100
+ 0 0.0% 99.6% 12 0.6% REXML::Parsers::XPathParser#LocationPath
101
+ 0 0.0% 99.6% 152 7.0% Array#map
102
+ 0 0.0% 99.6% 945 43.4% EC2::Base#response_generator
103
+ 0 0.0% 99.6% 1 0.0% Net::HTTPResponse.read_status_line
104
+ 0 0.0% 99.6% 34 1.6% Net::HTTP#request
105
+ 0 0.0% 99.6% 275 12.6% Array#each
106
+ 0 0.0% 99.6% 801 36.8% REXML::Parsers::TreeParser#parse
107
+ 0 0.0% 99.6% 993 45.6% XmlSimple.xml_in
108
+ 0 0.0% 99.6% 32 1.5% Net::HTTPResponse#read_body
109
+ 0 0.0% 99.6% 32 1.5% Net::HTTPResponse#reading_body
110
+ 0 0.0% 99.6% 1 0.0% Net::HTTPResponse.each_response_header
111
+ 0 0.0% 99.6% 801 36.8% REXML::Document#build
112
+ 0 0.0% 99.6% 34 1.6% EC2::Base#make_request
113
+ 0 0.0% 99.6% 32 1.5% Net::HTTPResponse#body
114
+ 0 0.0% 99.6% 32 1.5% Array#delete_if
115
+ 0 0.0% 99.6% 1 0.0% REXML::XPathParser#namespaces=
116
+ 0 0.0% 99.6% 34 1.6% Net::HTTP#start
117
+ 0 0.0% 99.6% 1113 51.1% XmlSimple#xml_in
118
+ 0 0.0% 99.6% 27 1.2% Object#timeout
119
+ 0 0.0% 99.6% 801 36.8% XmlSimple#parse
120
+ 0 0.0% 99.6% 918 42.1% EC2::Base#describe_images
121
+ 0 0.0% 99.6% 934 42.9% EC2::Response.parse
122
+ 0 0.0% 99.6% 801 36.8% REXML::Document#initialize
123
+ 0 0.0% 99.6% 22 1.0% Array#join
124
+ 0 0.0% 99.6% 1 0.0% Net::BufferedIO#readline
125
+ 0 0.0% 99.6% 2 0.1% Net::HTTPResponse.read_new
126
+ 0 0.0% 99.6% 86 3.9% REXML::XPathParser#parse
@@ -0,0 +1,129 @@
1
+ 001414dd: garbage_collector
2
+ 0121a9e3: REXML::Elements#empty?
3
+ 01222643: REXML::Element#has_elements?
4
+ 01124a59: XmlSimple#collapse
5
+ 0121a7f5: REXML::Elements#each
6
+ 024522b5: REXML::XPath.each
7
+ 01222665: REXML::Element#each_element
8
+ 011249a9: XmlSimple#xml_in
9
+ 0223eb95: XmlSimple.xml_in
10
+ 022884f1: EC2::Response.parse
11
+ 011ba34d: EC2::Base#response_generator
12
+ 011ba17d: EC2::Base#describe_images
13
+ 01124af1: XmlSimple#get_attributes
14
+ 012219b1: REXML::Attributes#each_attribute
15
+ 01219c51: REXML::Attributes#each
16
+ 024ae844: REXML::Functions.namespace_context=
17
+ 01222fe8: REXML::XPathParser#namespaces=
18
+ 0003e949: Kernel#gem_original_require
19
+ 0003c2dd: Object#require
20
+ 00033631: Array#each
21
+ 01292161: REXML::Child#find
22
+ 012a0661: REXML::Parent#each
23
+ 01124b0f: XmlSimple#has_mixed_content?
24
+ 00033501: Object#find
25
+ 0122269d: REXML::Element#get_text
26
+ 0121cbd5: REXML::Element#text
27
+ 01222663: REXML::Element#has_text?
28
+ 012226eb: REXML::Element#has_attributes?
29
+ 01124b11: XmlSimple#collapse_text_node
30
+ 01219841: REXML::Attributes#initialize
31
+ 0003aa21: Class#new
32
+ 0121a435: REXML::Element#initialize
33
+ 0121ae0d: REXML::Elements#add
34
+ 012224f5: REXML::Element#add_element
35
+ 011dfd39: REXML::Parsers::TreeParser#parse
36
+ 011e0ce1: REXML::Document#build
37
+ 011ddb39: REXML::Document#initialize
38
+ 0111db71: XmlSimple#parse
39
+ 0121a3e5: REXML::Elements#initialize
40
+ 024cec3d: REXML::Text.unnormalize
41
+ 012642b5: REXML::Text#value
42
+ 012639b5: REXML::Text#to_s
43
+ 00033bd9: Array#join
44
+ 011e5325: Set#initialize
45
+ 011ed101: REXML::Parsers::BaseParser#pull
46
+ 011e2f01: REXML::Document#doctype
47
+ 0050c805: Net::BufferedIO#readuntil
48
+ 025a912d: Net::HTTPResponse.each_response_header
49
+ 025a8bfd: Net::HTTPResponse.read_new
50
+ 012d8c71: Net::HTTP#request
51
+ 011ba2e5: EC2::Base#make_request
52
+ 012d4611: Net::HTTP#start
53
+ 005067ad: Net::BufferedIO#read
54
+ 012d87bd: Net::HTTPResponse#read_chunked
55
+ 012d87ad: Net::HTTPResponse#read_body_0
56
+ 012d8095: Net::HTTPResponse#read_body
57
+ 012d657d: Net::HTTPResponse#body
58
+ 012d83a5: Net::HTTPResponse#reading_body
59
+ 01124b39: XmlSimple#node_to_text
60
+ 00033561: Array#map
61
+ 0003878b: String#slice!
62
+ 0050c94d: Net::BufferedIO#rbuf_consume
63
+ 012243ad: REXML::Parsers::XPathParser#RelativeLocationPath
64
+ 012243a5: REXML::Parsers::XPathParser#LocationPath
65
+ 01224425: REXML::Parsers::XPathParser#PathExpr
66
+ 0122441d: REXML::Parsers::XPathParser#UnionExpr
67
+ 01224415: REXML::Parsers::XPathParser#UnaryExpr
68
+ 0122440d: REXML::Parsers::XPathParser#MultiplicativeExpr
69
+ 01224405: REXML::Parsers::XPathParser#AdditiveExpr
70
+ 012243fd: REXML::Parsers::XPathParser#RelationalExpr
71
+ 012243f5: REXML::Parsers::XPathParser#EqualityExpr
72
+ 012243ed: REXML::Parsers::XPathParser#AndExpr
73
+ 01224385: REXML::Parsers::XPathParser#OrExpr
74
+ 0121de09: REXML::Parsers::XPathParser#parse
75
+ 0121d5d5: REXML::XPathParser#parse
76
+ 0122249d: REXML::Element#node_type
77
+ 0122390d: REXML::XPathParser#expr
78
+ 000340d1: Array#delete_if
79
+ 0121b40d: REXML::XPathParser#match
80
+ 0126b96d: REXML::Text#node_type
81
+ 0121e725: REXML::Element#root
82
+ 012224a5: REXML::Element#document
83
+ 0122442d: REXML::Parsers::XPathParser#FilterExpr
84
+ 012201a8: REXML::Element#context=
85
+ 0129b2f1: REXML::Child#initialize
86
+ 012a0251: REXML::Parent#initialize
87
+ 0003754a: String#<<
88
+ 0129f80c: REXML::Parent#[]
89
+ 012a0c79: REXML::Parent#add
90
+ 01124b19: XmlSimple#fold_arrays
91
+ 0003285d: Hash#each
92
+ 011e5735: Set#each
93
+ 01223788: REXML::XPathParser#variables=
94
+ 0122272d: REXML::Element#texts
95
+ 01292179: REXML::Child#find_all
96
+ 0003c025: Object#sleep
97
+ 02369535: Timeout.timeout
98
+ 0006c8ed: Thread.start
99
+ 0003ef01: Object#timeout
100
+ 0050c955: Net::BufferedIO#rbuf_fill
101
+ 000333dd: Hash#each_key
102
+ 0003faed: Object#DelegateClass
103
+ 01124b97: XmlSimple#force_array?
104
+ 0111c369: XmlSimple#merge
105
+ 012a3384: REXML::Child#parent=
106
+ 0129f80e: REXML::Parent#<<
107
+ 000333d5: Hash#each_value
108
+ 024ae81c: REXML::Functions.variables=
109
+ 0110f181: OpenSSL::SSL::SSLSocket#sysread
110
+ 012225c5: REXML::Element#whitespace
111
+ 012225e5: REXML::Element#ignore_whitespace_nodes
112
+ 0126f51f: REXML::Source#empty?
113
+ 011e4e47: REXML::Parsers::BaseParser#empty?
114
+ 01124b01: XmlSimple#empty
115
+ 00037544: String#=~
116
+ 01263905: REXML::Text#initialize
117
+ 0126f521: REXML::Source#match
118
+ 005067f5: Net::BufferedIO#readline
119
+ 025a911d: Net::HTTPResponse.read_status_line
120
+ 012243bd: REXML::Parsers::XPathParser#NodeTest
121
+ 0003187d: Regexp#match
122
+ 00031a08: Hash#[]
123
+ 012a39d1: REXML::Parent#children
124
+ 0121a58c: REXML::Parent#name=
125
+ 00059eb8: Dir.[]
126
+ 0008623d: Gem::GemPathSearcher#matching_files
127
+ 00086923: Gem::GemPathSearcher#matching_file?
128
+ 0008439d: Gem::GemPathSearcher#find
129
+ 00036ef9: Thread#kill
@@ -25,7 +25,8 @@ context "The Response classes " do
25
25
 
26
26
 
27
27
  specify "should show the response as a formatted string when calling #inspect" do
28
- @response.inspect.should.equal %{{"return"=>"true", "xmlns"=>"http://ec2.amazonaws.com/doc/2007-03-01"}}
28
+ # sorting the response hash first since ruby 1.8.6 and ruby 1.9.1 sort the hash differently before the inspect
29
+ @response.sort.inspect.should.equal %{[[\"return\", \"true\"], [\"xmlns\", \"http://ec2.amazonaws.com/doc/2007-03-01\"]]}
29
30
  end
30
31
 
31
32
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grempe-amazon-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Glenn Rempe
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-11 00:00:00 -07:00
12
+ date: 2009-08-09 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.5
33
+ version: 0.9.7
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: test-spec
@@ -43,19 +43,30 @@ dependencies:
43
43
  version: 0.10.0
44
44
  version:
45
45
  - !ruby/object:Gem::Dependency
46
- name: rcov
46
+ name: relevance-rcov
47
47
  type: :development
48
48
  version_requirement:
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 0.8.1.2.0
53
+ version: 0.8.5.1
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: perftools.rb
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "="
62
+ - !ruby/object:Gem::Version
63
+ version: 0.1.6
54
64
  version:
55
65
  description: An interface library that allows Ruby applications to easily connect to the HTTP 'Query API' for the Amazon Web Services Elastic Compute Cloud (EC2) and manipulate cloud servers.
56
66
  email: glenn@rempe.us
57
67
  executables:
58
68
  - ec2-gem-example.rb
69
+ - ec2-gem-profile.rb
59
70
  - ec2sh
60
71
  - setup.rb
61
72
  extensions: []
@@ -73,6 +84,7 @@ files:
73
84
  - VERSION
74
85
  - amazon-ec2.gemspec
75
86
  - bin/ec2-gem-example.rb
87
+ - bin/ec2-gem-profile.rb
76
88
  - bin/ec2sh
77
89
  - bin/setup.rb
78
90
  - deps.rip
@@ -90,6 +102,10 @@ files:
90
102
  - lib/EC2/security_groups.rb
91
103
  - lib/EC2/snapshots.rb
92
104
  - lib/EC2/volumes.rb
105
+ - perftools/ec2prof
106
+ - perftools/ec2prof-results.dot
107
+ - perftools/ec2prof-results.txt
108
+ - perftools/ec2prof.symbols
93
109
  - test/test_EC2.rb
94
110
  - test/test_EC2_availability_zones.rb
95
111
  - test/test_EC2_console.rb
@@ -109,8 +125,9 @@ files:
109
125
  - wsdl/2008-02-01.ec2.wsdl
110
126
  - wsdl/2008-05-05.ec2.wsdl
111
127
  - wsdl/2008-12-01.ec2.wsdl
112
- has_rdoc: false
128
+ has_rdoc: true
113
129
  homepage: http://github.com/grempe/amazon-ec2
130
+ licenses:
114
131
  post_install_message:
115
132
  rdoc_options:
116
133
  - --quiet
@@ -139,9 +156,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
156
  requirements: []
140
157
 
141
158
  rubyforge_project: amazon-ec2
142
- rubygems_version: 1.2.0
159
+ rubygems_version: 1.3.5
143
160
  signing_key:
144
- specification_version: 3
161
+ specification_version: 2
145
162
  summary: Amazon EC2 Ruby Gem
146
163
  test_files:
147
164
  - test/test_EC2.rb