krisr-amazon-ec2 0.5.0

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 (55) hide show
  1. data/.gitignore +6 -0
  2. data/ChangeLog +284 -0
  3. data/LICENSE +66 -0
  4. data/README.rdoc +329 -0
  5. data/Rakefile +101 -0
  6. data/VERSION +1 -0
  7. data/amazon-ec2.gemspec +123 -0
  8. data/bin/ec2-gem-example.rb +66 -0
  9. data/bin/ec2-gem-profile.rb +10 -0
  10. data/bin/ec2sh +62 -0
  11. data/bin/setup.rb +26 -0
  12. data/deps.rip +1 -0
  13. data/lib/AWS.rb +239 -0
  14. data/lib/AWS/EC2.rb +67 -0
  15. data/lib/AWS/EC2/availability_zones.rb +43 -0
  16. data/lib/AWS/EC2/console.rb +46 -0
  17. data/lib/AWS/EC2/elastic_ips.rb +154 -0
  18. data/lib/AWS/EC2/image_attributes.rb +168 -0
  19. data/lib/AWS/EC2/images.rb +136 -0
  20. data/lib/AWS/EC2/instances.rb +218 -0
  21. data/lib/AWS/EC2/keypairs.rb +96 -0
  22. data/lib/AWS/EC2/products.rb +45 -0
  23. data/lib/AWS/EC2/security_groups.rb +234 -0
  24. data/lib/AWS/EC2/snapshots.rb +96 -0
  25. data/lib/AWS/EC2/volumes.rb +172 -0
  26. data/lib/AWS/ELB.rb +57 -0
  27. data/lib/AWS/ELB/load_balancers.rb +201 -0
  28. data/lib/AWS/exceptions.rb +169 -0
  29. data/lib/AWS/responses.rb +61 -0
  30. data/lib/EC2.rb +31 -0
  31. data/perftools/ec2prof +0 -0
  32. data/perftools/ec2prof-results.dot +193 -0
  33. data/perftools/ec2prof-results.txt +126 -0
  34. data/perftools/ec2prof.symbols +129 -0
  35. data/test/test_EC2.rb +68 -0
  36. data/test/test_EC2_availability_zones.rb +49 -0
  37. data/test/test_EC2_console.rb +54 -0
  38. data/test/test_EC2_elastic_ips.rb +144 -0
  39. data/test/test_EC2_image_attributes.rb +238 -0
  40. data/test/test_EC2_images.rb +197 -0
  41. data/test/test_EC2_instances.rb +348 -0
  42. data/test/test_EC2_keypairs.rb +123 -0
  43. data/test/test_EC2_products.rb +48 -0
  44. data/test/test_EC2_responses.rb +52 -0
  45. data/test/test_EC2_s3_xmlsimple.rb +80 -0
  46. data/test/test_EC2_security_groups.rb +205 -0
  47. data/test/test_EC2_snapshots.rb +83 -0
  48. data/test/test_EC2_volumes.rb +142 -0
  49. data/test/test_ELB_load_balancers.rb +238 -0
  50. data/test/test_helper.rb +19 -0
  51. data/wsdl/2007-08-29.ec2.wsdl +1269 -0
  52. data/wsdl/2008-02-01.ec2.wsdl +1614 -0
  53. data/wsdl/2008-05-05.ec2.wsdl +2052 -0
  54. data/wsdl/2008-12-01.ec2.wsdl +2354 -0
  55. metadata +184 -0
@@ -0,0 +1,31 @@
1
+ #--
2
+ # Amazon Web Services EC2 Query API Ruby library
3
+ #
4
+ # Ruby Gem Name:: amazon-ec2
5
+ # Author:: Glenn Rempe (mailto:glenn@rempe.us)
6
+ # Copyright:: Copyright (c) 2007-2008 Glenn Rempe
7
+ # License:: Distributes under the same terms as Ruby
8
+ # Home:: http://github.com/grempe/amazon-ec2/tree/master
9
+ #++
10
+
11
+ require File.join(File.dirname(__FILE__), "AWS.rb")
12
+
13
+ # This module is provided to provide a backwards compatible API for previous
14
+ # versions of the gem before the code was refactored for ELB API support.
15
+ #
16
+ # This is module is deprecated. Instead, you should now use AWS::EC2 and
17
+ # require 'aws'
18
+ #
19
+ module EC2
20
+ # See AWS.canonical_string
21
+ def EC2.canonical_string(params, host, method="POST", base="/")
22
+ AWS.canonical_string(params, host, method, base)
23
+ end
24
+
25
+ # See AWS.encode
26
+ def EC2.encode(secret_access_key, str, urlencode=true)
27
+ AWS.encode(secret_access_key, str, urlencode)
28
+ end
29
+
30
+ include AWS::EC2
31
+ end
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% AWS::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% AWS::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% AWS::EC2::Base#describe_images
121
+ 0 0.0% 99.6% 934 42.9% AWS::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: AWS::Response.parse
11
+ 011ba34d: AWS::EC2::Base#response_generator
12
+ 011ba17d: AWS::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: AWS::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