newrelic-amazon-ec2 0.6.2

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.
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