amazon-ec2 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,33 +1,28 @@
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
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')
19
+ end
26
20
 
27
- rescue LoadError
28
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
21
+ Jeweler::RubyforgeTasks.new do |rubyforge|
22
+ rubyforge.doc_task = "rdoc"
29
23
  end
30
24
 
25
+
31
26
  require 'rake/testtask'
32
27
  Rake::TestTask.new(:test) do |test|
33
28
  test.libs << 'lib' << 'test'
@@ -44,7 +39,7 @@ begin
44
39
  end
45
40
  rescue LoadError
46
41
  task :rcov do
47
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
42
+ abort "RCov is not available. In order to run rcov, you must: [sudo] gem install relevance-rcov"
48
43
  end
49
44
  end
50
45
 
@@ -91,3 +86,10 @@ begin
91
86
  rescue LoadError
92
87
  puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured."
93
88
  end
89
+
90
+ desc "Generate a perftools.rb profile"
91
+ task :profile do
92
+ 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")
93
+ system("pprof.rb --text --ignore=Gem perftools/ec2prof > perftools/ec2prof-results.txt")
94
+ system("pprof.rb --dot --ignore=Gem perftools/ec2prof > perftools/ec2prof-results.dot")
95
+ 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",
@@ -65,7 +73,7 @@ Gem::Specification.new do |s|
65
73
  s.rdoc_options = ["--quiet", "--title", "amazon-ec2 documentation", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
66
74
  s.require_paths = ["lib"]
67
75
  s.rubyforge_project = %q{amazon-ec2}
68
- s.rubygems_version = %q{1.3.4}
76
+ s.rubygems_version = %q{1.3.5}
69
77
  s.summary = %q{Amazon EC2 Ruby Gem}
70
78
  s.test_files = [
71
79
  "test/test_EC2.rb",
@@ -91,19 +99,22 @@ Gem::Specification.new do |s|
91
99
 
92
100
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
93
101
  s.add_runtime_dependency(%q<xml-simple>, [">= 1.0.12"])
94
- s.add_development_dependency(%q<mocha>, [">= 0.9.5"])
102
+ s.add_development_dependency(%q<mocha>, [">= 0.9.7"])
95
103
  s.add_development_dependency(%q<test-spec>, [">= 0.10.0"])
96
- s.add_development_dependency(%q<rcov>, [">= 0.8.1.2.0"])
104
+ s.add_development_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
105
+ s.add_development_dependency(%q<perftools.rb>, ["= 0.1.6"])
97
106
  else
98
107
  s.add_dependency(%q<xml-simple>, [">= 1.0.12"])
99
- s.add_dependency(%q<mocha>, [">= 0.9.5"])
108
+ s.add_dependency(%q<mocha>, [">= 0.9.7"])
100
109
  s.add_dependency(%q<test-spec>, [">= 0.10.0"])
101
- s.add_dependency(%q<rcov>, [">= 0.8.1.2.0"])
110
+ s.add_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
111
+ s.add_dependency(%q<perftools.rb>, ["= 0.1.6"])
102
112
  end
103
113
  else
104
114
  s.add_dependency(%q<xml-simple>, [">= 1.0.12"])
105
- s.add_dependency(%q<mocha>, [">= 0.9.5"])
115
+ s.add_dependency(%q<mocha>, [">= 0.9.7"])
106
116
  s.add_dependency(%q<test-spec>, [">= 0.10.0"])
107
- s.add_dependency(%q<rcov>, [">= 0.8.1.2.0"])
117
+ s.add_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
118
+ s.add_dependency(%q<perftools.rb>, ["= 0.1.6"])
108
119
  end
109
120
  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: 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
@@ -141,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
157
  requirements: []
142
158
 
143
159
  rubyforge_project: amazon-ec2
144
- rubygems_version: 1.3.4
160
+ rubygems_version: 1.3.5
145
161
  signing_key:
146
162
  specification_version: 3
147
163
  summary: Amazon EC2 Ruby Gem