nirvdrum-amazon-ec2 0.7.9
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.
- data/.gitignore +9 -0
- data/.yardopts +1 -0
- data/ChangeLog +304 -0
- data/LICENSE +66 -0
- data/README.rdoc +359 -0
- data/README_dev.rdoc +10 -0
- data/Rakefile +70 -0
- data/VERSION +1 -0
- data/amazon-ec2.gemspec +142 -0
- data/bin/ec2-gem-example.rb +137 -0
- data/bin/ec2-gem-profile.rb +10 -0
- data/bin/ec2sh +62 -0
- data/bin/setup.rb +29 -0
- data/deps.rip +1 -0
- data/lib/AWS.rb +321 -0
- data/lib/AWS/Autoscaling.rb +70 -0
- data/lib/AWS/Autoscaling/autoscaling.rb +273 -0
- data/lib/AWS/Cloudwatch.rb +32 -0
- data/lib/AWS/Cloudwatch/monitoring.rb +80 -0
- data/lib/AWS/EC2.rb +33 -0
- data/lib/AWS/EC2/availability_zones.rb +29 -0
- data/lib/AWS/EC2/console.rb +25 -0
- data/lib/AWS/EC2/devpay.rb +18 -0
- data/lib/AWS/EC2/elastic_ips.rb +86 -0
- data/lib/AWS/EC2/image_attributes.rb +133 -0
- data/lib/AWS/EC2/images.rb +117 -0
- data/lib/AWS/EC2/instances.rb +234 -0
- data/lib/AWS/EC2/keypairs.rb +47 -0
- data/lib/AWS/EC2/products.rb +21 -0
- data/lib/AWS/EC2/security_groups.rb +164 -0
- data/lib/AWS/EC2/snapshots.rb +102 -0
- data/lib/AWS/EC2/spot_instance_requests.rb +105 -0
- data/lib/AWS/EC2/volumes.rb +100 -0
- data/lib/AWS/ELB.rb +71 -0
- data/lib/AWS/ELB/load_balancers.rb +178 -0
- data/lib/AWS/RDS.rb +73 -0
- data/lib/AWS/RDS/rds.rb +522 -0
- data/lib/AWS/exceptions.rb +200 -0
- data/lib/AWS/responses.rb +21 -0
- data/perftools/ec2prof +0 -0
- data/perftools/ec2prof-results.dot +132 -0
- data/perftools/ec2prof-results.txt +100 -0
- data/perftools/ec2prof.symbols +102 -0
- data/test/test_Autoscaling_groups.rb +337 -0
- data/test/test_EC2.rb +68 -0
- data/test/test_EC2_availability_zones.rb +49 -0
- data/test/test_EC2_console.rb +54 -0
- data/test/test_EC2_elastic_ips.rb +144 -0
- data/test/test_EC2_image_attributes.rb +238 -0
- data/test/test_EC2_images.rb +229 -0
- data/test/test_EC2_instances.rb +611 -0
- data/test/test_EC2_keypairs.rb +123 -0
- data/test/test_EC2_products.rb +48 -0
- data/test/test_EC2_responses.rb +53 -0
- data/test/test_EC2_s3_xmlsimple.rb +80 -0
- data/test/test_EC2_security_groups.rb +205 -0
- data/test/test_EC2_snapshots.rb +83 -0
- data/test/test_EC2_spot_instance_requests.rb +178 -0
- data/test/test_EC2_volumes.rb +142 -0
- data/test/test_ELB_load_balancers.rb +239 -0
- data/test/test_RDS.rb +354 -0
- data/test/test_helper.rb +23 -0
- data/wsdl/2007-08-29.ec2.wsdl +1269 -0
- data/wsdl/2008-02-01.ec2.wsdl +1614 -0
- data/wsdl/2008-05-05.ec2.wsdl +2052 -0
- data/wsdl/2008-12-01.ec2.wsdl +2354 -0
- data/wsdl/2009-10-31.ec2.wsdl +4261 -0
- data/wsdl/2009-11-30.ec2.wsdl +4668 -0
- metadata +199 -0
@@ -0,0 +1,200 @@
|
|
1
|
+
#--
|
2
|
+
# AWS ERROR CODES
|
3
|
+
# AWS can throw error exceptions that contain a '.' in them.
|
4
|
+
# since we can't name an exception class with that '.' I compressed
|
5
|
+
# each class name into the non-dot version which allows us to retain
|
6
|
+
# the granularity of the exception.
|
7
|
+
#++
|
8
|
+
|
9
|
+
module AWS
|
10
|
+
|
11
|
+
# All AWS errors are superclassed by Error < RuntimeError
|
12
|
+
class Error < RuntimeError; end
|
13
|
+
|
14
|
+
# CLIENT : A client side argument error
|
15
|
+
class ArgumentError < Error; end
|
16
|
+
|
17
|
+
# Elastic Compute Cloud
|
18
|
+
############################
|
19
|
+
|
20
|
+
# EC2 : User has the maximum number of allowed IP addresses.
|
21
|
+
class AddressLimitExceeded < Error; end
|
22
|
+
|
23
|
+
# EC2 : The limit on the number of Amazon EBS volumes attached to one instance has been exceeded.
|
24
|
+
class AttachmentLimitExceeded < Error; end
|
25
|
+
|
26
|
+
# EC2 : User not authorized.
|
27
|
+
class AuthFailure < Error; end
|
28
|
+
|
29
|
+
# EC2 : Volume is in incorrect state
|
30
|
+
class IncorrectState < Error; end
|
31
|
+
|
32
|
+
# EC2 : User has max allowed concurrent running instances.
|
33
|
+
class InstanceLimitExceeded < Error; end
|
34
|
+
|
35
|
+
# EC2 : The value of an item added to, or removed from, an image attribute is invalid.
|
36
|
+
class InvalidAMIAttributeItemValue < Error; end
|
37
|
+
|
38
|
+
# EC2 : Specified AMI ID is not valid.
|
39
|
+
class InvalidAMIIDMalformed < Error; end
|
40
|
+
|
41
|
+
# EC2 : Specified AMI ID does not exist.
|
42
|
+
class InvalidAMIIDNotFound < Error; end
|
43
|
+
|
44
|
+
# EC2 : Specified AMI ID has been deregistered and is no longer available.
|
45
|
+
class InvalidAMIIDUnavailable < Error; end
|
46
|
+
|
47
|
+
# EC2 : The instance cannot detach from a volume to which it is not attached.
|
48
|
+
class InvalidAttachmentNotFound < Error; end
|
49
|
+
|
50
|
+
# EC2 : The device to which you are trying to attach (i.e. /dev/sdh) is already in use on the instance.
|
51
|
+
class InvalidDeviceInUse < Error; end
|
52
|
+
|
53
|
+
# EC2 : Specified instance ID is not valid.
|
54
|
+
class InvalidInstanceIDMalformed < Error; end
|
55
|
+
|
56
|
+
# EC2 : Specified instance ID does not exist.
|
57
|
+
class InvalidInstanceIDNotFound < Error; end
|
58
|
+
|
59
|
+
# EC2 : Specified keypair name does not exist.
|
60
|
+
class InvalidKeyPairNotFound < Error; end
|
61
|
+
|
62
|
+
# EC2 : Attempt to create a duplicate keypair.
|
63
|
+
class InvalidKeyPairDuplicate < Error; end
|
64
|
+
|
65
|
+
# EC2 : Specified group name does not exist.
|
66
|
+
class InvalidGroupNotFound < Error; end
|
67
|
+
|
68
|
+
# EC2 : Attempt to create a duplicate group.
|
69
|
+
class InvalidGroupDuplicate < Error; end
|
70
|
+
|
71
|
+
# EC2 : Specified group can not be deleted because it is in use.
|
72
|
+
class InvalidGroupInUse < Error; end
|
73
|
+
|
74
|
+
# EC2 : Specified group name is a reserved name.
|
75
|
+
class InvalidGroupReserved < Error; end
|
76
|
+
|
77
|
+
# EC2 : Specified AMI has an unparsable manifest.
|
78
|
+
class InvalidManifest < Error; end
|
79
|
+
|
80
|
+
# EC2 : RunInstances was called with minCount and maxCount set to 0 or minCount > maxCount.
|
81
|
+
class InvalidParameterCombination < Error; end
|
82
|
+
|
83
|
+
# EC2 : The value supplied for a parameter was invalid.
|
84
|
+
class InvalidParameterValue < Error; end
|
85
|
+
|
86
|
+
# EC2 : Attempt to authorize a permission that has already been authorized.
|
87
|
+
class InvalidPermissionDuplicate < Error; end
|
88
|
+
|
89
|
+
# EC2 : Specified permission is invalid.
|
90
|
+
class InvalidPermissionMalformed < Error; end
|
91
|
+
|
92
|
+
# EC2 : Specified reservation ID is invalid.
|
93
|
+
class InvalidReservationIDMalformed < Error; end
|
94
|
+
|
95
|
+
# EC2 : Specified reservation ID does not exist.
|
96
|
+
class InvalidReservationIDNotFound < Error; end
|
97
|
+
|
98
|
+
# EC2 : The snapshot ID that was passed as an argument was malformed.
|
99
|
+
class InvalidSnapshotIDMalformed < Error; end
|
100
|
+
|
101
|
+
# EC2 : The specified snapshot does not exist.
|
102
|
+
class InvalidSnapshotIDNotFound < Error; end
|
103
|
+
|
104
|
+
# EC2 : The user ID is neither in the form of an AWS account ID or one
|
105
|
+
# of the special values accepted by the owner or executableBy flags
|
106
|
+
# in the DescribeImages call.
|
107
|
+
class InvalidUserIDMalformed < Error; end
|
108
|
+
|
109
|
+
# EC2 : Reserved Instances ID not found.
|
110
|
+
class InvalidReservedInstancesId < Error; end
|
111
|
+
|
112
|
+
# EC2 : Reserved Instances Offering ID not found.
|
113
|
+
class InvalidReservedInstancesOfferingId < Error; end
|
114
|
+
|
115
|
+
# EC2 : The volume ID that was passed as an argument was malformed.
|
116
|
+
class InvalidVolumeIDMalformed < Error; end
|
117
|
+
|
118
|
+
# EC2 : The volume specified does not exist.
|
119
|
+
class InvalidVolumeIDNotFound < Error; end
|
120
|
+
|
121
|
+
# EC2 : The volume already exists in the system.
|
122
|
+
class InvalidVolumeIDDuplicate < Error; end
|
123
|
+
|
124
|
+
# EC2 : The specified volume ID and instance ID are in different Availability Zones.
|
125
|
+
class InvalidVolumeIDZoneMismatch < Error; end
|
126
|
+
|
127
|
+
# EC2 : The zone specified does not exist.
|
128
|
+
class InvalidZoneNotFound < Error; end
|
129
|
+
|
130
|
+
# EC2 : Insufficient Reserved Instances capacity.
|
131
|
+
class InsufficientReservedInstancesCapacity < Error; end
|
132
|
+
|
133
|
+
# EC2 : The instance specified does not support EBS.
|
134
|
+
class NonEBSInstance < Error; end
|
135
|
+
|
136
|
+
# EC2 : The limit on the number of Amazon EBS snapshots in the pending state has been exceeded.
|
137
|
+
class PendingSnapshotLimitExceeded < Error; end
|
138
|
+
|
139
|
+
# EC2 : Your current quota does not allow you to purchase the required number of reserved instances.
|
140
|
+
class ReservedInstancesLimitExceeded < Error; end
|
141
|
+
|
142
|
+
# EC2 : The limit on the number of Amazon EBS snapshots has been exceeded.
|
143
|
+
class SnapshotLimitExceeded < Error; end
|
144
|
+
|
145
|
+
# EC2 : An unknown parameter was passed as an argument
|
146
|
+
class UnknownParameter < Error; end
|
147
|
+
|
148
|
+
# EC2 : The limit on the number of Amazon EBS volumes has been exceeded.
|
149
|
+
class VolumeLimitExceeded < Error; end
|
150
|
+
|
151
|
+
# Server Error Codes
|
152
|
+
###
|
153
|
+
|
154
|
+
# Server : Internal Error.
|
155
|
+
class InternalError < Error; end
|
156
|
+
|
157
|
+
# Server : Not enough available addresses to satisfy your minimum request.
|
158
|
+
class InsufficientAddressCapacity < Error; end
|
159
|
+
|
160
|
+
# Server : There are not enough available instances to satisfy your minimum request.
|
161
|
+
class InsufficientInstanceCapacity < Error; end
|
162
|
+
|
163
|
+
# Server : There are not enough available reserved instances to satisfy your minimum request.
|
164
|
+
class InsufficientReservedInstanceCapacity < Error; end
|
165
|
+
|
166
|
+
# Server : The server is overloaded and cannot handle the request.
|
167
|
+
class Unavailable < Error; end
|
168
|
+
|
169
|
+
# Elastic Load Balancer
|
170
|
+
############################
|
171
|
+
|
172
|
+
# ELB : The Load balancer specified was not found.
|
173
|
+
class LoadBalancerNotFound < Error; end
|
174
|
+
|
175
|
+
# ELB :
|
176
|
+
class ValidationError < Error; end
|
177
|
+
|
178
|
+
# ELB :
|
179
|
+
class DuplicateLoadBalancerName < Error; end
|
180
|
+
|
181
|
+
# ELB :
|
182
|
+
class TooManyLoadBalancers < Error; end
|
183
|
+
|
184
|
+
# ELB :
|
185
|
+
class InvalidInstance < Error; end
|
186
|
+
|
187
|
+
# ELB :
|
188
|
+
class InvalidConfigurationRequest < Error; end
|
189
|
+
|
190
|
+
# API Errors
|
191
|
+
############################
|
192
|
+
|
193
|
+
# Server : Invalid AWS Account
|
194
|
+
class InvalidClientTokenId < Error; end
|
195
|
+
|
196
|
+
# Server : The provided signature does not match.
|
197
|
+
class SignatureDoesNotMatch < Error; end
|
198
|
+
|
199
|
+
end
|
200
|
+
|
@@ -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
|
+
|
data/perftools/ec2prof
ADDED
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
|