newrelic-amazon-ec2 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/.gitignore +8 -0
  2. data/.yardopts +1 -0
  3. data/ChangeLog +293 -0
  4. data/LICENSE +66 -0
  5. data/README.rdoc +354 -0
  6. data/README_dev.rdoc +12 -0
  7. data/Rakefile +101 -0
  8. data/VERSION +1 -0
  9. data/amazon-ec2.gemspec +134 -0
  10. data/bin/ec2-gem-example.rb +137 -0
  11. data/bin/ec2-gem-profile.rb +10 -0
  12. data/bin/ec2sh +62 -0
  13. data/bin/setup.rb +28 -0
  14. data/deps.rip +1 -0
  15. data/lib/AWS.rb +292 -0
  16. data/lib/AWS/Autoscaling.rb +70 -0
  17. data/lib/AWS/Autoscaling/autoscaling.rb +273 -0
  18. data/lib/AWS/Cloudwatch.rb +32 -0
  19. data/lib/AWS/Cloudwatch/monitoring.rb +89 -0
  20. data/lib/AWS/EC2.rb +33 -0
  21. data/lib/AWS/EC2/availability_zones.rb +21 -0
  22. data/lib/AWS/EC2/console.rb +23 -0
  23. data/lib/AWS/EC2/elastic_ips.rb +81 -0
  24. data/lib/AWS/EC2/image_attributes.rb +133 -0
  25. data/lib/AWS/EC2/images.rb +101 -0
  26. data/lib/AWS/EC2/instances.rb +212 -0
  27. data/lib/AWS/EC2/keypairs.rb +61 -0
  28. data/lib/AWS/EC2/products.rb +21 -0
  29. data/lib/AWS/EC2/security_groups.rb +183 -0
  30. data/lib/AWS/EC2/snapshots.rb +59 -0
  31. data/lib/AWS/EC2/volumes.rb +115 -0
  32. data/lib/AWS/ELB.rb +71 -0
  33. data/lib/AWS/ELB/load_balancers.rb +178 -0
  34. data/lib/AWS/exceptions.rb +122 -0
  35. data/lib/AWS/responses.rb +21 -0
  36. data/newrelic-amazon-ec2.gemspec +136 -0
  37. data/perftools/ec2prof +0 -0
  38. data/perftools/ec2prof-results.dot +132 -0
  39. data/perftools/ec2prof-results.txt +100 -0
  40. data/perftools/ec2prof.symbols +102 -0
  41. data/test/test_Autoscaling_groups.rb +336 -0
  42. data/test/test_EC2.rb +68 -0
  43. data/test/test_EC2_availability_zones.rb +49 -0
  44. data/test/test_EC2_console.rb +54 -0
  45. data/test/test_EC2_elastic_ips.rb +144 -0
  46. data/test/test_EC2_image_attributes.rb +238 -0
  47. data/test/test_EC2_images.rb +197 -0
  48. data/test/test_EC2_instances.rb +429 -0
  49. data/test/test_EC2_keypairs.rb +123 -0
  50. data/test/test_EC2_products.rb +48 -0
  51. data/test/test_EC2_responses.rb +53 -0
  52. data/test/test_EC2_s3_xmlsimple.rb +80 -0
  53. data/test/test_EC2_security_groups.rb +205 -0
  54. data/test/test_EC2_snapshots.rb +83 -0
  55. data/test/test_EC2_volumes.rb +142 -0
  56. data/test/test_ELB_load_balancers.rb +239 -0
  57. data/test/test_helper.rb +23 -0
  58. data/wsdl/2007-08-29.ec2.wsdl +1269 -0
  59. data/wsdl/2008-02-01.ec2.wsdl +1614 -0
  60. data/wsdl/2008-05-05.ec2.wsdl +2052 -0
  61. data/wsdl/2008-12-01.ec2.wsdl +2354 -0
  62. metadata +218 -0
@@ -0,0 +1,21 @@
1
+ module AWS
2
+
3
+ class Response
4
+
5
+ # Parse the XML response from AWS
6
+ #
7
+ # @option options [String] :xml The XML response from AWS that we want to parse
8
+ # @option options [Hash] :parse_options Override the options for XmlSimple.
9
+ # @return [Hash] the input :xml converted to a custom Ruby Hash by XmlSimple.
10
+ def self.parse(options = {})
11
+ options = {
12
+ :xml => "",
13
+ :parse_options => { 'forcearray' => ['item', 'member'], 'suppressempty' => nil, 'keeproot' => false }
14
+ }.merge(options)
15
+ response = XmlSimple.xml_in(options[:xml], options[:parse_options])
16
+ end
17
+
18
+ end # class Response
19
+
20
+ end # module AWS
21
+
@@ -0,0 +1,136 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{newrelic-amazon-ec2}
8
+ s.version = "0.6.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Glenn Rempe"]
12
+ s.date = %q{2010-03-23}
13
+ s.description = %q{A Ruby library for accessing the Amazon Web Services Elastic Compute Cloud (EC2), Elastic Load Balancer (ELB), Cloudwatch, and Autoscaling API's.}
14
+ s.email = %q{glenn@rempe.us}
15
+ s.executables = ["ec2-gem-example.rb", "ec2-gem-profile.rb", "ec2sh", "setup.rb"]
16
+ s.extra_rdoc_files = [
17
+ "ChangeLog",
18
+ "LICENSE",
19
+ "README.rdoc",
20
+ "README_dev.rdoc"
21
+ ]
22
+ s.files = [
23
+ ".gitignore",
24
+ ".yardopts",
25
+ "ChangeLog",
26
+ "LICENSE",
27
+ "README.rdoc",
28
+ "README_dev.rdoc",
29
+ "Rakefile",
30
+ "VERSION",
31
+ "amazon-ec2.gemspec",
32
+ "bin/ec2-gem-example.rb",
33
+ "bin/ec2-gem-profile.rb",
34
+ "bin/ec2sh",
35
+ "bin/setup.rb",
36
+ "deps.rip",
37
+ "lib/AWS.rb",
38
+ "lib/AWS/Autoscaling.rb",
39
+ "lib/AWS/Autoscaling/autoscaling.rb",
40
+ "lib/AWS/Cloudwatch.rb",
41
+ "lib/AWS/Cloudwatch/monitoring.rb",
42
+ "lib/AWS/EC2.rb",
43
+ "lib/AWS/EC2/availability_zones.rb",
44
+ "lib/AWS/EC2/console.rb",
45
+ "lib/AWS/EC2/elastic_ips.rb",
46
+ "lib/AWS/EC2/image_attributes.rb",
47
+ "lib/AWS/EC2/images.rb",
48
+ "lib/AWS/EC2/instances.rb",
49
+ "lib/AWS/EC2/keypairs.rb",
50
+ "lib/AWS/EC2/products.rb",
51
+ "lib/AWS/EC2/security_groups.rb",
52
+ "lib/AWS/EC2/snapshots.rb",
53
+ "lib/AWS/EC2/volumes.rb",
54
+ "lib/AWS/ELB.rb",
55
+ "lib/AWS/ELB/load_balancers.rb",
56
+ "lib/AWS/exceptions.rb",
57
+ "lib/AWS/responses.rb",
58
+ "newrelic-amazon-ec2.gemspec",
59
+ "perftools/ec2prof",
60
+ "perftools/ec2prof-results.dot",
61
+ "perftools/ec2prof-results.txt",
62
+ "perftools/ec2prof.symbols",
63
+ "test/test_Autoscaling_groups.rb",
64
+ "test/test_EC2.rb",
65
+ "test/test_EC2_availability_zones.rb",
66
+ "test/test_EC2_console.rb",
67
+ "test/test_EC2_elastic_ips.rb",
68
+ "test/test_EC2_image_attributes.rb",
69
+ "test/test_EC2_images.rb",
70
+ "test/test_EC2_instances.rb",
71
+ "test/test_EC2_keypairs.rb",
72
+ "test/test_EC2_products.rb",
73
+ "test/test_EC2_responses.rb",
74
+ "test/test_EC2_s3_xmlsimple.rb",
75
+ "test/test_EC2_security_groups.rb",
76
+ "test/test_EC2_snapshots.rb",
77
+ "test/test_EC2_volumes.rb",
78
+ "test/test_ELB_load_balancers.rb",
79
+ "test/test_helper.rb",
80
+ "wsdl/2007-08-29.ec2.wsdl",
81
+ "wsdl/2008-02-01.ec2.wsdl",
82
+ "wsdl/2008-05-05.ec2.wsdl",
83
+ "wsdl/2008-12-01.ec2.wsdl"
84
+ ]
85
+ s.homepage = %q{http://github.com/newrelic/amazon-ec2}
86
+ s.rdoc_options = ["--title", "amazon-ec2 documentation", "--line-numbers", "--main", "README.rdoc"]
87
+ s.require_paths = ["lib"]
88
+ s.rubyforge_project = %q{amazon-ec2}
89
+ s.rubygems_version = %q{1.3.6}
90
+ s.summary = %q{Amazon EC2 Ruby Gem}
91
+ s.test_files = [
92
+ "test/test_Autoscaling_groups.rb",
93
+ "test/test_EC2.rb",
94
+ "test/test_EC2_availability_zones.rb",
95
+ "test/test_EC2_console.rb",
96
+ "test/test_EC2_elastic_ips.rb",
97
+ "test/test_EC2_image_attributes.rb",
98
+ "test/test_EC2_images.rb",
99
+ "test/test_EC2_instances.rb",
100
+ "test/test_EC2_keypairs.rb",
101
+ "test/test_EC2_products.rb",
102
+ "test/test_EC2_responses.rb",
103
+ "test/test_EC2_s3_xmlsimple.rb",
104
+ "test/test_EC2_security_groups.rb",
105
+ "test/test_EC2_snapshots.rb",
106
+ "test/test_EC2_volumes.rb",
107
+ "test/test_ELB_load_balancers.rb",
108
+ "test/test_helper.rb"
109
+ ]
110
+
111
+ if s.respond_to? :specification_version then
112
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
113
+ s.specification_version = 3
114
+
115
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
116
+ s.add_runtime_dependency(%q<xml-simple>, [">= 1.0.12"])
117
+ s.add_development_dependency(%q<mocha>, [">= 0.9.7"])
118
+ s.add_development_dependency(%q<test-spec>, [">= 0.10.0"])
119
+ s.add_development_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
120
+ s.add_development_dependency(%q<perftools.rb>, ["= 0.1.6"])
121
+ else
122
+ s.add_dependency(%q<xml-simple>, [">= 1.0.12"])
123
+ s.add_dependency(%q<mocha>, [">= 0.9.7"])
124
+ s.add_dependency(%q<test-spec>, [">= 0.10.0"])
125
+ s.add_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
126
+ s.add_dependency(%q<perftools.rb>, ["= 0.1.6"])
127
+ end
128
+ else
129
+ s.add_dependency(%q<xml-simple>, [">= 1.0.12"])
130
+ s.add_dependency(%q<mocha>, [">= 0.9.7"])
131
+ s.add_dependency(%q<test-spec>, [">= 0.10.0"])
132
+ s.add_dependency(%q<relevance-rcov>, [">= 0.8.5.1"])
133
+ s.add_dependency(%q<perftools.rb>, ["= 0.1.6"])
134
+ end
135
+ end
136
+
Binary file
@@ -0,0 +1,132 @@
1
+ digraph "/usr/bin/ruby; 2043 samples" {
2
+ node [width=0.375,height=0.25];
3
+ Legend [shape=box,fontsize=24,shape=plaintext,label="/usr/bin/ruby\lTotal samples: 2043\lFocusing on: 2035\lDropped nodes with <= 10 abs(samples)\lDropped edges with <= 2 samples\l"];
4
+ N1 [label="garbage_collector\n1298 (63.5%)\r",shape=box,fontsize=47.9];
5
+ N2 [label="XmlSimple#xml_in\n0 (0.0%)\rof 507 (24.8%)\r",shape=box,fontsize=8.0];
6
+ N3 [label="XmlSimple.xml_in\n0 (0.0%)\rof 469 (23.0%)\r",shape=box,fontsize=8.0];
7
+ N4 [label="AWS\nResponse.parse\n0 (0.0%)\rof 442 (21.6%)\r",shape=box,fontsize=8.0];
8
+ N5 [label="AWS\nBase#response_generator\n0 (0.0%)\rof 431 (21.1%)\r",shape=box,fontsize=8.0];
9
+ N6 [label="AWS\nEC2\nBase#describe_images\n0 (0.0%)\rof 422 (20.7%)\r",shape=box,fontsize=8.0];
10
+ N7 [label="Class#new\n142 (7.0%)\rof 371 (18.2%)\r",shape=box,fontsize=21.2];
11
+ N8 [label="REXML\nDocument#build\n14 (0.7%)\rof 370 (18.1%)\r",shape=box,fontsize=12.1];
12
+ N9 [label="REXML\nDocument#initialize\n0 (0.0%)\rof 370 (18.1%)\r",shape=box,fontsize=8.0];
13
+ N10 [label="XmlSimple#parse\n0 (0.0%)\rof 370 (18.1%)\r",shape=box,fontsize=8.0];
14
+ N11 [label="REXML\nParsers\nTreeParser#parse\n65 (3.2%)\rof 355 (17.4%)\r",shape=box,fontsize=16.9];
15
+ N12 [label="REXML\nElement#each_element\n5 (0.2%)\rof 338 (16.5%)\r",shape=box,fontsize=10.5];
16
+ N13 [label="REXML\nElements#each\n11 (0.5%)\rof 338 (16.5%)\r",shape=box,fontsize=11.7];
17
+ N14 [label="REXML\nXPath.each\n4 (0.2%)\rof 338 (16.5%)\r",shape=box,fontsize=10.2];
18
+ N15 [label="XmlSimple#collapse\n45 (2.2%)\rof 338 (16.5%)\r",shape=box,fontsize=15.4];
19
+ N16 [label="REXML\nParsers\nBaseParser#pull\n14 (0.7%)\rof 107 (5.2%)\r",shape=box,fontsize=12.1];
20
+ N17 [label="XmlSimple#collapse_text_node\n20 (1.0%)\rof 97 (4.7%)\r",shape=box,fontsize=13.0];
21
+ N18 [label="REXML\nElement#add_element\n2 (0.1%)\rof 94 (4.6%)\r",shape=box,fontsize=9.6];
22
+ N19 [label="REXML\nElements#add\n2 (0.1%)\rof 92 (4.5%)\r",shape=box,fontsize=9.6];
23
+ N20 [label="REXML\nElement#initialize\n18 (0.9%)\rof 81 (4.0%)\r",shape=box,fontsize=12.7];
24
+ N21 [label="XmlSimple#node_to_text\n6 (0.3%)\rof 76 (3.7%)\r",shape=box,fontsize=10.7];
25
+ N22 [label="REXML\nText#value\n19 (0.9%)\rof 74 (3.6%)\r",shape=box,fontsize=12.8];
26
+ N23 [label="REXML\nElement#has_elements?\n0 (0.0%)\rof 55 (2.7%)\r",shape=box,fontsize=8.0];
27
+ N24 [label="REXML\nElement#has_text?\n3 (0.1%)\rof 55 (2.7%)\r",shape=box,fontsize=9.9];
28
+ N25 [label="REXML\nElements#empty?\n2 (0.1%)\rof 55 (2.7%)\r",shape=box,fontsize=9.6];
29
+ N26 [label="REXML\nChild#find\n50 (2.4%)\rof 54 (2.6%)\r",shape=box,fontsize=15.8];
30
+ N27 [label="REXML\nElement#text\n5 (0.2%)\rof 52 (2.5%)\r",shape=box,fontsize=10.5];
31
+ N28 [label="REXML\nElement#texts\n5 (0.2%)\rof 45 (2.2%)\r",shape=box,fontsize=10.5];
32
+ N29 [label="REXML\nSource#match\n44 (2.2%)\r",shape=box,fontsize=15.4];
33
+ N30 [label="REXML\nChild#find_all\n37 (1.8%)\rof 40 (2.0%)\r",shape=box,fontsize=14.7];
34
+ N31 [label="Array#map\n2 (0.1%)\rof 36 (1.8%)\r",shape=box,fontsize=9.6];
35
+ N32 [label="Array#each\n7 (0.3%)\rof 33 (1.6%)\r",shape=box,fontsize=10.9];
36
+ N33 [label="REXML\nElement#document\n11 (0.5%)\rof 29 (1.4%)\r",shape=box,fontsize=11.7];
37
+ N34 [label="XmlSimple#has_mixed_content?\n3 (0.1%)\rof 29 (1.4%)\r",shape=box,fontsize=9.9];
38
+ N35 [label="REXML\nXPathParser#parse\n0 (0.0%)\rof 23 (1.1%)\r",shape=box,fontsize=8.0];
39
+ N36 [label="REXML\nParent#initialize\n17 (0.8%)\rof 22 (1.1%)\r",shape=box,fontsize=12.6];
40
+ N37 [label="Set#initialize\n2 (0.1%)\rof 22 (1.1%)\r",shape=box,fontsize=9.6];
41
+ N38 [label="XmlSimple#merge\n13 (0.6%)\rof 21 (1.0%)\r",shape=box,fontsize=12.0];
42
+ N39 [label="AWS\nBase#make_request\n0 (0.0%)\rof 20 (1.0%)\r",shape=box,fontsize=8.0];
43
+ N40 [label="Net\nHTTP#request\n0 (0.0%)\rof 20 (1.0%)\r",shape=box,fontsize=8.0];
44
+ N41 [label="Net\nHTTP#start\n0 (0.0%)\rof 20 (1.0%)\r",shape=box,fontsize=8.0];
45
+ N42 [label="Net\nHTTPResponse#body\n0 (0.0%)\rof 20 (1.0%)\r",shape=box,fontsize=8.0];
46
+ N43 [label="Net\nHTTPResponse#read_body\n0 (0.0%)\rof 20 (1.0%)\r",shape=box,fontsize=8.0];
47
+ N44 [label="Net\nHTTPResponse#read_body_0\n0 (0.0%)\rof 20 (1.0%)\r",shape=box,fontsize=8.0];
48
+ N45 [label="Net\nHTTPResponse#read_chunked\n0 (0.0%)\rof 20 (1.0%)\r",shape=box,fontsize=8.0];
49
+ N46 [label="Net\nHTTPResponse#reading_body\n0 (0.0%)\rof 20 (1.0%)\r",shape=box,fontsize=8.0];
50
+ N47 [label="Net\nBufferedIO#read\n5 (0.2%)\rof 19 (0.9%)\r",shape=box,fontsize=10.5];
51
+ N48 [label="REXML\nText#initialize\n17 (0.8%)\rof 19 (0.9%)\r",shape=box,fontsize=12.6];
52
+ N49 [label="REXML\nElement#root\n18 (0.9%)\r",shape=box,fontsize=12.7];
53
+ N50 [label="REXML\nText.unnormalize\n16 (0.8%)\rof 18 (0.9%)\r",shape=box,fontsize=12.4];
54
+ N51 [label="REXML\nParent#each\n2 (0.1%)\rof 16 (0.8%)\r",shape=box,fontsize=9.6];
55
+ N52 [label="REXML\nParsers\nXPathParser#parse\n4 (0.2%)\rof 15 (0.7%)\r",shape=box,fontsize=10.2];
56
+ N53 [label="Net\nBufferedIO#rbuf_fill\n13 (0.6%)\rof 14 (0.7%)\r",shape=box,fontsize=12.0];
57
+ N54 [label="Object#timeout\n0 (0.0%)\rof 14 (0.7%)\r",shape=box,fontsize=8.0];
58
+ N55 [label="Timeout.timeout\n1 (0.0%)\rof 14 (0.7%)\r",shape=box,fontsize=9.1];
59
+ N56 [label="REXML\nParsers\nXPathParser#OrExpr\n2 (0.1%)\rof 11 (0.5%)\r",shape=box,fontsize=9.6];
60
+ N22 -> N50 [label=18, weight=7, style="setlinewidth(0.053071)"];
61
+ N13 -> N14 [label=911, weight=117, style="setlinewidth(2.000000)"];
62
+ N20 -> N7 [label=32, weight=11, style="setlinewidth(0.094349)"];
63
+ N21 -> N31 [label=36, weight=12, style="setlinewidth(0.106143)"];
64
+ N14 -> N13 [label=904, weight=117, style="setlinewidth(2.000000)"];
65
+ N7 -> N48 [label=19, weight=7, style="setlinewidth(0.056020)"];
66
+ N22 -> N33 [label=29, weight=10, style="setlinewidth(0.085504)"];
67
+ N44 -> N45 [label=20, weight=8, style="setlinewidth(0.058968)"];
68
+ N51 -> N32 [label=14, weight=6, style="setlinewidth(0.041278)"];
69
+ N16 -> N7 [label=43, weight=13, style="setlinewidth(0.126781)"];
70
+ N20 -> N36 [label=22, weight=8, style="setlinewidth(0.064865)"];
71
+ N7 -> N20 [label=81, weight=21, style="setlinewidth(0.238821)"];
72
+ N34 -> N28 [label=7, weight=3, style="setlinewidth(0.020639)"];
73
+ N15 -> N34 [label=29, weight=10, style="setlinewidth(0.085504)"];
74
+ N16 -> N29 [label=44, weight=14, style="setlinewidth(0.129730)"];
75
+ N27 -> N22 [label=44, weight=14, style="setlinewidth(0.129730)"];
76
+ N32 -> N26 [label=7, weight=3, style="setlinewidth(0.020639)"];
77
+ N25 -> N26 [label=54, weight=16, style="setlinewidth(0.159214)"];
78
+ N15 -> N17 [label=97, weight=24, style="setlinewidth(0.285995)"];
79
+ N26 -> N51 [label=10, weight=5, style="setlinewidth(0.029484)"];
80
+ N4 -> N3 [label=442, weight=71, style="setlinewidth(1.303194)"];
81
+ N54 -> N55 [label=14, weight=6, style="setlinewidth(0.041278)"];
82
+ N15 -> N23 [label=46, weight=14, style="setlinewidth(0.135627)"];
83
+ N45 -> N47 [label=19, weight=7, style="setlinewidth(0.056020)"];
84
+ N9 -> N8 [label=370, weight=62, style="setlinewidth(1.090909)"];
85
+ N7 -> N9 [label=370, weight=62, style="setlinewidth(1.090909)"];
86
+ N37 -> N7 [label=20, weight=8, style="setlinewidth(0.058968)"];
87
+ N55 -> N53 [label=13, weight=6, style="setlinewidth(0.038329)"];
88
+ N24 -> N27 [label=52, weight=15, style="setlinewidth(0.153317)"];
89
+ N11 -> N7 [label=77, weight=20, style="setlinewidth(0.227027)"];
90
+ N40 -> N46 [label=20, weight=8, style="setlinewidth(0.058968)"];
91
+ N21 -> N28 [label=38, weight=12, style="setlinewidth(0.112039)"];
92
+ N43 -> N44 [label=20, weight=8, style="setlinewidth(0.058968)"];
93
+ N5 -> N39 [label=20, weight=8, style="setlinewidth(0.058968)"];
94
+ N13 -> N15 [label=922, weight=118, style="setlinewidth(2.000000)"];
95
+ N10 -> N7 [label=370, weight=62, style="setlinewidth(1.090909)"];
96
+ N5 -> N4 [label=411, weight=67, style="setlinewidth(1.211794)"];
97
+ N15 -> N15 [label=892, weight=116, style="setlinewidth(2.000000)"];
98
+ N15 -> N12 [label=801, weight=107, style="setlinewidth(2.000000)"];
99
+ N17 -> N21 [label=76, weight=20, style="setlinewidth(0.224079)"];
100
+ N14 -> N35 [label=23, weight=8, style="setlinewidth(0.067813)"];
101
+ N30 -> N51 [label=6, weight=3, style="setlinewidth(0.017690)"];
102
+ N52 -> N56 [label=11, weight=5, style="setlinewidth(0.032432)"];
103
+ N39 -> N40 [label=20, weight=8, style="setlinewidth(0.058968)"];
104
+ N8 -> N11 [label=355, weight=60, style="setlinewidth(1.046683)"];
105
+ N2 -> N15 [label=137, weight=31, style="setlinewidth(0.403931)"];
106
+ N34 -> N23 [label=9, weight=4, style="setlinewidth(0.026536)"];
107
+ N39 -> N41 [label=20, weight=8, style="setlinewidth(0.058968)"];
108
+ N12 -> N13 [label=857, weight=113, style="setlinewidth(2.000000)"];
109
+ N11 -> N16 [label=107, weight=26, style="setlinewidth(0.315479)"];
110
+ N2 -> N10 [label=370, weight=62, style="setlinewidth(1.090909)"];
111
+ N19 -> N7 [label=91, weight=23, style="setlinewidth(0.268305)"];
112
+ N34 -> N24 [label=9, weight=4, style="setlinewidth(0.026536)"];
113
+ N15 -> N38 [label=21, weight=8, style="setlinewidth(0.061916)"];
114
+ N21 -> N22 [label=30, weight=10, style="setlinewidth(0.088452)"];
115
+ N53 -> N54 [label=14, weight=6, style="setlinewidth(0.041278)"];
116
+ N46 -> N42 [label=20, weight=8, style="setlinewidth(0.058968)"];
117
+ N31 -> N21 [label=34, weight=11, style="setlinewidth(0.100246)"];
118
+ N41 -> N39 [label=20, weight=8, style="setlinewidth(0.058968)"];
119
+ N23 -> N25 [label=55, weight=16, style="setlinewidth(0.162162)"];
120
+ N7 -> N37 [label=22, weight=8, style="setlinewidth(0.064865)"];
121
+ N3 -> N2 [label=469, weight=74, style="setlinewidth(1.382801)"];
122
+ N35 -> N52 [label=15, weight=6, style="setlinewidth(0.044226)"];
123
+ N47 -> N53 [label=14, weight=6, style="setlinewidth(0.041278)"];
124
+ N6 -> N5 [label=422, weight=68, style="setlinewidth(1.244226)"];
125
+ N32 -> N30 [label=3, weight=2, style="setlinewidth(0.008845)"];
126
+ N42 -> N43 [label=20, weight=8, style="setlinewidth(0.058968)"];
127
+ N33 -> N49 [label=18, weight=7, style="setlinewidth(0.053071)"];
128
+ N11 -> N18 [label=94, weight=24, style="setlinewidth(0.277150)"];
129
+ N28 -> N30 [label=40, weight=13, style="setlinewidth(0.117936)"];
130
+ N18 -> N19 [label=92, weight=23, style="setlinewidth(0.271253)"];
131
+ N15 -> N24 [label=46, weight=14, style="setlinewidth(0.135627)"];
132
+ }
@@ -0,0 +1,100 @@
1
+ Total: 2043 samples
2
+ 1298 63.5% 63.5% 1298 63.5% garbage_collector
3
+ 142 7.0% 70.5% 371 18.2% Class#new
4
+ 65 3.2% 73.7% 355 17.4% REXML::Parsers::TreeParser#parse
5
+ 50 2.4% 76.1% 54 2.6% REXML::Child#find
6
+ 45 2.2% 78.3% 338 16.5% XmlSimple#collapse
7
+ 44 2.2% 80.5% 44 2.2% REXML::Source#match
8
+ 37 1.8% 82.3% 40 2.0% REXML::Child#find_all
9
+ 20 1.0% 83.3% 97 4.7% XmlSimple#collapse_text_node
10
+ 19 0.9% 84.2% 74 3.6% REXML::Text#value
11
+ 18 0.9% 85.1% 81 4.0% REXML::Element#initialize
12
+ 18 0.9% 86.0% 18 0.9% REXML::Element#root
13
+ 17 0.8% 86.8% 22 1.1% REXML::Parent#initialize
14
+ 17 0.8% 87.6% 19 0.9% REXML::Text#initialize
15
+ 16 0.8% 88.4% 18 0.9% REXML::Text.unnormalize
16
+ 14 0.7% 89.1% 370 18.1% REXML::Document#build
17
+ 14 0.7% 89.8% 107 5.2% REXML::Parsers::BaseParser#pull
18
+ 13 0.6% 90.4% 14 0.7% Net::BufferedIO#rbuf_fill
19
+ 13 0.6% 91.0% 21 1.0% XmlSimple#merge
20
+ 11 0.5% 91.6% 29 1.4% REXML::Element#document
21
+ 11 0.5% 92.1% 338 16.5% REXML::Elements#each
22
+ 9 0.4% 92.6% 9 0.4% REXML::Parent#name=
23
+ 8 0.4% 93.0% 8 0.4% REXML::Parent#add
24
+ 8 0.4% 93.3% 8 0.4% XmlSimple#force_array?
25
+ 7 0.3% 93.7% 33 1.6% Array#each
26
+ 6 0.3% 94.0% 9 0.4% Kernel#gem_original_require
27
+ 6 0.3% 94.3% 10 0.5% Object#find
28
+ 6 0.3% 94.6% 76 3.7% XmlSimple#node_to_text
29
+ 5 0.2% 94.8% 19 0.9% Net::BufferedIO#read
30
+ 5 0.2% 95.1% 338 16.5% REXML::Element#each_element
31
+ 5 0.2% 95.3% 52 2.5% REXML::Element#text
32
+ 5 0.2% 95.5% 45 2.2% REXML::Element#texts
33
+ 5 0.2% 95.8% 6 0.3% REXML::Parsers::BaseParser#empty?
34
+ 4 0.2% 96.0% 4 0.2% Hash#[]
35
+ 4 0.2% 96.2% 4 0.2% Object#clone
36
+ 4 0.2% 96.4% 15 0.7% REXML::Parsers::XPathParser#parse
37
+ 4 0.2% 96.6% 338 16.5% REXML::XPath.each
38
+ 4 0.2% 96.8% 6 0.3% XmlSimple#get_attributes
39
+ 3 0.1% 96.9% 6 0.3% Array#delete_if
40
+ 3 0.1% 97.1% 3 0.1% Hash#each
41
+ 3 0.1% 97.2% 55 2.7% REXML::Element#has_text?
42
+ 3 0.1% 97.4% 7 0.3% REXML::XPathParser#expr
43
+ 3 0.1% 97.5% 29 1.4% XmlSimple#has_mixed_content?
44
+ 2 0.1% 97.6% 36 1.8% Array#map
45
+ 2 0.1% 97.7% 9 0.4% Object#require
46
+ 2 0.1% 97.8% 5 0.2% REXML::Child#initialize
47
+ 2 0.1% 97.9% 8 0.4% REXML::Document#doctype
48
+ 2 0.1% 98.0% 94 4.6% REXML::Element#add_element
49
+ 2 0.1% 98.1% 3 0.1% REXML::Element#get_text
50
+ 2 0.1% 98.2% 3 0.1% REXML::Element#whitespace
51
+ 2 0.1% 98.3% 92 4.5% REXML::Elements#add
52
+ 2 0.1% 98.4% 55 2.7% REXML::Elements#empty?
53
+ 2 0.1% 98.5% 2 0.1% REXML::Parent#<<
54
+ 2 0.1% 98.6% 16 0.8% REXML::Parent#each
55
+ 2 0.1% 98.7% 9 0.4% REXML::Parsers::XPathParser#AdditiveExpr
56
+ 2 0.1% 98.8% 2 0.1% REXML::Parsers::XPathParser#FilterExpr
57
+ 2 0.1% 98.9% 7 0.3% REXML::Parsers::XPathParser#MultiplicativeExpr
58
+ 2 0.1% 99.0% 11 0.5% REXML::Parsers::XPathParser#OrExpr
59
+ 2 0.1% 99.1% 5 0.2% REXML::Parsers::XPathParser#UnionExpr
60
+ 2 0.1% 99.2% 22 1.1% Set#initialize
61
+ 1 0.0% 99.2% 1 0.0% Array#join
62
+ 1 0.0% 99.3% 1 0.0% Net::BufferedIO#readline
63
+ 1 0.0% 99.3% 1 0.0% REXML::Attributes#each_attribute
64
+ 1 0.0% 99.4% 1 0.0% REXML::Parsers::XPathParser#RelativeLocationPath
65
+ 1 0.0% 99.4% 1 0.0% REXML::Source#empty?
66
+ 1 0.0% 99.5% 1 0.0% REXML::Source#initialize
67
+ 1 0.0% 99.5% 8 0.4% REXML::XPathParser#match
68
+ 1 0.0% 99.6% 1 0.0% REXML::XPathParser#variables=
69
+ 1 0.0% 99.6% 14 0.7% Timeout.timeout
70
+ 0 0.0% 99.6% 20 1.0% AWS::Base#make_request
71
+ 0 0.0% 99.6% 431 21.1% AWS::Base#response_generator
72
+ 0 0.0% 99.6% 422 20.7% AWS::EC2::Base#describe_images
73
+ 0 0.0% 99.6% 442 21.6% AWS::Response.parse
74
+ 0 0.0% 99.6% 20 1.0% Net::HTTP#request
75
+ 0 0.0% 99.6% 20 1.0% Net::HTTP#start
76
+ 0 0.0% 99.6% 20 1.0% Net::HTTPResponse#body
77
+ 0 0.0% 99.6% 20 1.0% Net::HTTPResponse#read_body
78
+ 0 0.0% 99.6% 20 1.0% Net::HTTPResponse#read_body_0
79
+ 0 0.0% 99.6% 20 1.0% Net::HTTPResponse#read_chunked
80
+ 0 0.0% 99.6% 20 1.0% Net::HTTPResponse#reading_body
81
+ 0 0.0% 99.6% 14 0.7% Object#timeout
82
+ 0 0.0% 99.6% 1 0.0% REXML::Attributes#each
83
+ 0 0.0% 99.6% 370 18.1% REXML::Document#initialize
84
+ 0 0.0% 99.6% 55 2.7% REXML::Element#has_elements?
85
+ 0 0.0% 99.6% 1 0.0% REXML::Element#ignore_whitespace_nodes
86
+ 0 0.0% 99.6% 1 0.0% REXML::Parsers::BaseParser#initialize
87
+ 0 0.0% 99.6% 1 0.0% REXML::Parsers::BaseParser#stream=
88
+ 0 0.0% 99.6% 1 0.0% REXML::Parsers::TreeParser#initialize
89
+ 0 0.0% 99.6% 9 0.4% REXML::Parsers::XPathParser#AndExpr
90
+ 0 0.0% 99.6% 9 0.4% REXML::Parsers::XPathParser#EqualityExpr
91
+ 0 0.0% 99.6% 1 0.0% REXML::Parsers::XPathParser#LocationPath
92
+ 0 0.0% 99.6% 3 0.1% REXML::Parsers::XPathParser#PathExpr
93
+ 0 0.0% 99.6% 9 0.4% REXML::Parsers::XPathParser#RelationalExpr
94
+ 0 0.0% 99.6% 5 0.2% REXML::Parsers::XPathParser#UnaryExpr
95
+ 0 0.0% 99.6% 1 0.0% REXML::SourceFactory.create_from
96
+ 0 0.0% 99.6% 23 1.1% REXML::XPathParser#parse
97
+ 0 0.0% 99.6% 3 0.1% XmlSimple#fold_arrays
98
+ 0 0.0% 99.6% 370 18.1% XmlSimple#parse
99
+ 0 0.0% 99.6% 507 24.8% XmlSimple#xml_in
100
+ 0 0.0% 99.6% 469 23.0% XmlSimple.xml_in
@@ -0,0 +1,102 @@
1
+ 0000000100037f3a: garbage_collector
2
+ 000000010016bbe9: Array#map
3
+ 0000000102818079: XmlSimple#node_to_text
4
+ 0000000102818051: XmlSimple#collapse_text_node
5
+ 0000000102817f99: XmlSimple#collapse
6
+ 00000001028f9eb1: REXML::Elements#each
7
+ 000000020521dbb1: REXML::XPath.each
8
+ 0000000102902299: REXML::Element#each_element
9
+ 000000010017a719: Class#new
10
+ 00000001028a2949: REXML::Parsers::TreeParser#parse
11
+ 00000001028a3f11: REXML::Document#build
12
+ 00000001028a0d39: REXML::Document#initialize
13
+ 0000000102810de1: XmlSimple#parse
14
+ 0000000102817f71: XmlSimple#xml_in
15
+ 0000000205025409: XmlSimple.xml_in
16
+ 0000000204f566d9: AWS::Response.parse
17
+ 00000001028123e1: AWS::Base#response_generator
18
+ 00000001027f30e1: AWS::EC2::Base#describe_images
19
+ 00000001029b0211: REXML::Child#find
20
+ 000000010016bcb9: Array#each
21
+ 00000001029c5ec1: REXML::Parent#each
22
+ 00000001028fa09f: REXML::Elements#empty?
23
+ 0000000102902277: REXML::Element#has_elements?
24
+ 00000001028a6b49: REXML::Document#doctype
25
+ 000000010016bb61: Object#find
26
+ 00000001029655e9: REXML::Text#value
27
+ 000000010017e629: Kernel#gem_original_require
28
+ 000000010017bf71: Object#require
29
+ 00000001029b0229: REXML::Child#find_all
30
+ 0000000102902361: REXML::Element#texts
31
+ 000000010281804f: XmlSimple#has_mixed_content?
32
+ 00000001029011e9: REXML::Attributes#each_attribute
33
+ 00000001028f8f39: REXML::Attributes#each
34
+ 0000000102818031: XmlSimple#get_attributes
35
+ 00000001028fa4c9: REXML::Elements#add
36
+ 0000000102902111: REXML::Element#add_element
37
+ 000000010290476d: REXML::Parsers::XPathParser#AdditiveExpr
38
+ 0000000102904765: REXML::Parsers::XPathParser#RelationalExpr
39
+ 000000010290475d: REXML::Parsers::XPathParser#EqualityExpr
40
+ 0000000102904755: REXML::Parsers::XPathParser#AndExpr
41
+ 00000001029046ed: REXML::Parsers::XPathParser#OrExpr
42
+ 00000001028fdc59: REXML::Parsers::XPathParser#parse
43
+ 00000001028fd169: REXML::XPathParser#parse
44
+ 00000001028aca99: Set#initialize
45
+ 00000001028b46c9: REXML::Parsers::BaseParser#pull
46
+ 00000001029be149: REXML::Child#initialize
47
+ 00000001029c5ab1: REXML::Parent#initialize
48
+ 00000001028f9b19: REXML::Element#initialize
49
+ 000000010016c759: Array#delete_if
50
+ 00000001029039c1: REXML::XPathParser#expr
51
+ 00000001028faf79: REXML::XPathParser#match
52
+ 00000002052d17d9: REXML::Text.unnormalize
53
+ 00000001028fc2e1: REXML::Element#text
54
+ 0000000102902297: REXML::Element#has_text?
55
+ 00000001029c506e: REXML::Parent#<<
56
+ 0000000102964c39: REXML::Text#initialize
57
+ 00000001029c64d9: REXML::Parent#add
58
+ 0000000102a143b9: Net::BufferedIO#read
59
+ 0000000102a15919: Net::HTTPResponse#read_chunked
60
+ 0000000102a15909: Net::HTTPResponse#read_body_0
61
+ 0000000102a15271: Net::HTTPResponse#read_body
62
+ 0000000102a12ad9: Net::HTTPResponse#body
63
+ 0000000102a15521: Net::HTTPResponse#reading_body
64
+ 0000000102a16b19: Net::HTTP#request
65
+ 0000000102811831: AWS::Base#make_request
66
+ 0000000102a125d9: Net::HTTP#start
67
+ 0000000102a14401: Net::BufferedIO#readline
68
+ 0000000102a1b031: Net::BufferedIO#rbuf_fill
69
+ 0000000203164251: Timeout.timeout
70
+ 000000010017ec59: Object#timeout
71
+ 00000001028abec7: REXML::Parsers::BaseParser#empty?
72
+ 0000000102904785: REXML::Parsers::XPathParser#UnionExpr
73
+ 000000010290477d: REXML::Parsers::XPathParser#UnaryExpr
74
+ 0000000102904775: REXML::Parsers::XPathParser#MultiplicativeExpr
75
+ 000000010037eed9: Gem::GemPathSearcher#matching_files
76
+ 000000010037f5cf: Gem::GemPathSearcher#matching_file?
77
+ 000000010037d021: Gem::GemPathSearcher#find
78
+ 000000010017a531: Object#clone
79
+ 00000001029022d1: REXML::Element#get_text
80
+ 00000001028180d7: XmlSimple#force_array?
81
+ 000000010280f5b1: XmlSimple#merge
82
+ 00000001001692bc: Hash#[]
83
+ 0000000102902219: REXML::Element#ignore_whitespace_nodes
84
+ 00000001029021f9: REXML::Element#whitespace
85
+ 000000010297920f: REXML::Source#empty?
86
+ 000000010290383c: REXML::XPathParser#variables=
87
+ 00000001028ff359: REXML::Element#document
88
+ 00000001028fde41: REXML::Element#root
89
+ 00000001028f9c34: REXML::Parent#name=
90
+ 0000000102979211: REXML::Source#match
91
+ 0000000102904795: REXML::Parsers::XPathParser#FilterExpr
92
+ 000000010290478d: REXML::Parsers::XPathParser#PathExpr
93
+ 000000010016a111: Hash#each
94
+ 0000000102818059: XmlSimple#fold_arrays
95
+ 000000010016c261: Array#join
96
+ 0000000102978c11: REXML::Source#initialize
97
+ 00000002052fa051: REXML::SourceFactory.create_from
98
+ 00000001028b4524: REXML::Parsers::BaseParser#stream=
99
+ 00000001028ab8c9: REXML::Parsers::BaseParser#initialize
100
+ 00000001028a0159: REXML::Parsers::TreeParser#initialize
101
+ 0000000102904715: REXML::Parsers::XPathParser#RelativeLocationPath
102
+ 000000010290470d: REXML::Parsers::XPathParser#LocationPath