krisr-amazon-ec2 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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