funktor 0.7.9 → 0.7.12

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.
@@ -21,6 +21,296 @@ Resources:
21
21
  },
22
22
  <% current_y += 3 %>
23
23
 
24
+ { <% "Processed Jobs By Worker" %>
25
+ "height": 4,
26
+ "width": 12,
27
+ "y": <%= current_y %>,
28
+ "x": 0,
29
+ "type": "metric",
30
+ "properties": {
31
+ "metrics": [
32
+ <%- app_worker_names.each do |worker_name| -%>
33
+ [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "<%= worker_name %>" ]<%= worker_name == app_worker_names.last ? "" : "," %>
34
+ <%- end -%>
35
+ ],
36
+ "view": "timeSeries",
37
+ "stacked": false,
38
+ "region": "us-east-1",
39
+ "title": "Processed Jobs By Worker",
40
+ "period": 60,
41
+ "stat": "Sum"
42
+ }
43
+ },
44
+ { <% "p90 By Worker" %>
45
+ "height": 4,
46
+ "width": 12,
47
+ "y": <%= current_y %>,
48
+ "x": 12,
49
+ "type": "metric",
50
+ "properties": {
51
+ "metrics": [
52
+ <%- app_worker_names.each do |worker_name| -%>
53
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>" ]<%= worker_name == app_worker_names.last ? "" : "," %>
54
+ <%- end -%>
55
+ ],
56
+ "view": "timeSeries",
57
+ "stacked": false,
58
+ "region": "us-east-1",
59
+ "stat": "p90",
60
+ "period": 60,
61
+ "title": "p90 by Worker"
62
+ }
63
+ },
64
+ <% current_y += 3 %>
65
+
66
+ { <% "Failed Jobs By Worker" %>
67
+ "height": 4,
68
+ "width": 12,
69
+ "y": <%= current_y %>,
70
+ "x": 0,
71
+ "type": "metric",
72
+ "properties": {
73
+ "metrics": [
74
+ <%- app_worker_names.each do |worker_name| -%>
75
+ [ "${self:custom.funktor.DashboardNamespace}", "failed", "WorkerClassName", "<%= worker_name %>" ]<%= worker_name == app_worker_names.last ? "" : "," %>
76
+ <%- end -%>
77
+ ],
78
+ "view": "timeSeries",
79
+ "stacked": false,
80
+ "region": "us-east-1",
81
+ "title": "Failed Jobs By Worker",
82
+ "period": 60,
83
+ "stat": "Sum"
84
+ }
85
+ },
86
+ { <% "p50 By Worker" %>
87
+ "height": 4,
88
+ "width": 12,
89
+ "y": <%= current_y %>,
90
+ "x": 12,
91
+ "type": "metric",
92
+ "properties": {
93
+ "metrics": [
94
+ <%- app_worker_names.each do |worker_name| -%>
95
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>" ]<%= worker_name == app_worker_names.last ? "" : "," %>
96
+ <%- end -%>
97
+ ],
98
+ "view": "timeSeries",
99
+ "stacked": false,
100
+ "region": "us-east-1",
101
+ "stat": "p50",
102
+ "period": 60,
103
+ "title": "p50 by Worker"
104
+ }
105
+ },
106
+ <% current_y += 3 %>
107
+
108
+ { <% "Processed Jobs By Queue" %>
109
+ "height": 4,
110
+ "width": 12,
111
+ "y": <%= current_y %>,
112
+ "x": 0,
113
+ "type": "metric",
114
+ "properties": {
115
+ "metrics": [
116
+ <%- queue_names.each do |queue_name| -%>
117
+ [ "${self:custom.funktor.DashboardNamespace}", "processed", "Queue", "<%= queue_name.underscore %>" ]<%= queue_name == queue_names.last ? "" : "," %>
118
+ <%- end -%>
119
+ ],
120
+ "view": "timeSeries",
121
+ "stacked": false,
122
+ "region": "us-east-1",
123
+ "title": "Processed Jobs By Queue",
124
+ "period": 60,
125
+ "stat": "Sum"
126
+ }
127
+ },
128
+ { <% "p90 By Queue" %>
129
+ "height": 4,
130
+ "width": 12,
131
+ "y": <%= current_y %>,
132
+ "x": 12,
133
+ "type": "metric",
134
+ "properties": {
135
+ "metrics": [
136
+ <%- queue_names.each do |queue_name| -%>
137
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "Queue", "<%= queue_name.underscore %>" ]<%= queue_name == queue_names.last ? "" : "," %>
138
+ <%- end -%>
139
+ ],
140
+ "view": "timeSeries",
141
+ "stacked": false,
142
+ "region": "us-east-1",
143
+ "stat": "p90",
144
+ "period": 60,
145
+ "title": "p90 by Queue"
146
+ }
147
+ },
148
+
149
+ <% current_y += 3 %>
150
+ { <% "Failed Jobs By Queue" %>
151
+ "height": 4,
152
+ "width": 12,
153
+ "y": <%= current_y %>,
154
+ "x": 0,
155
+ "type": "metric",
156
+ "properties": {
157
+ "metrics": [
158
+ <%- queue_names.each do |queue_name| -%>
159
+ [ "${self:custom.funktor.DashboardNamespace}", "failed", "Queue", "<%= queue_name.underscore %>" ]<%= queue_name == queue_names.last ? "" : "," %>
160
+ <%- end -%>
161
+ ],
162
+ "view": "timeSeries",
163
+ "stacked": false,
164
+ "region": "us-east-1",
165
+ "title": "Failed Jobs By Queue",
166
+ "period": 60,
167
+ "stat": "Sum"
168
+ }
169
+ },
170
+ { <% "p50 By Queue" %>
171
+ "height": 4,
172
+ "width": 12,
173
+ "y": <%= current_y %>,
174
+ "x": 12,
175
+ "type": "metric",
176
+ "properties": {
177
+ "metrics": [
178
+ <%- queue_names.each do |queue_name| -%>
179
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "Queue", "<%= queue_name.underscore %>" ]<%= queue_name == queue_names.last ? "" : "," %>
180
+ <%- end -%>
181
+ ],
182
+ "view": "timeSeries",
183
+ "stacked": false,
184
+ "region": "us-east-1",
185
+ "stat": "p50",
186
+ "period": 60,
187
+ "title": "p50 by Queue"
188
+ }
189
+ },
190
+ <% current_y += 3 %>
191
+
192
+ { <% "Jobs/Minute Section" %>
193
+ "height": 1,
194
+ "width": 24,
195
+ "y": <%= current_y %>,
196
+ "x": 0,
197
+ "type": "text",
198
+ "properties": {
199
+ "markdown": "\n# Jobs Per Minute By Worker\n"
200
+ }
201
+ },
202
+ <% current_y += 1 %>
203
+
204
+
205
+ <%- app_worker_names.each_with_index do |worker_name, index| -%>
206
+ <%- current_y += 3 if (index > 0 && (index % 6) == 0) %>
207
+ { <% "Processed Jobs By Worker" %>
208
+ "height": 3,
209
+ "width": 4,
210
+ "y": <%= current_y %>,
211
+ "x": <%= (index % 6) * 4 %>,
212
+ "type": "metric",
213
+ "properties": {
214
+ "metrics": [
215
+ [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "<%= worker_name %>" ]
216
+ ],
217
+ "view": "timeSeries",
218
+ "stacked": false,
219
+ "region": "us-east-1",
220
+ "title": "<%= worker_name %> Jobs/Min",
221
+ "period": 60,
222
+ "stat": "Sum",
223
+ "legend": {
224
+ "position": "hidden"
225
+ }
226
+ }
227
+ },
228
+ <%- end -%>
229
+ <%- current_y += 3 if (app_worker_names.count - 1) % 6 != 0 %>
230
+
231
+
232
+ { <% "Failures/Minute Section" %>
233
+ "height": 1,
234
+ "width": 24,
235
+ "y": <%= current_y %>,
236
+ "x": 0,
237
+ "type": "text",
238
+ "properties": {
239
+ "markdown": "\n# Failures Per Minute By Worker\n"
240
+ }
241
+ },
242
+ <% current_y += 1 %>
243
+
244
+
245
+ <%- app_worker_names.each_with_index do |worker_name, index| -%>
246
+ <%- current_y += 3 if (index > 0 && (index % 6) == 0) %>
247
+ { <% "Failed Jobs By Worker" %>
248
+ "height": 3,
249
+ "width": 4,
250
+ "y": <%= current_y %>,
251
+ "x": <%= (index % 6) * 4 %>,
252
+ "type": "metric",
253
+ "properties": {
254
+ "metrics": [
255
+ [ "${self:custom.funktor.DashboardNamespace}", "failed", "WorkerClassName", "<%= worker_name %>", { "color": "#d62728" } ]
256
+ ],
257
+ "view": "timeSeries",
258
+ "stacked": false,
259
+ "region": "us-east-1",
260
+ "title": "<%= worker_name %> Fails/Min",
261
+ "period": 60,
262
+ "stat": "Sum",
263
+ "legend": {
264
+ "position": "hidden"
265
+ }
266
+ }
267
+ },
268
+ <%- end -%>
269
+ <%- current_y += 3 if (app_worker_names.count - 1) % 6 != 0 %>
270
+
271
+
272
+ { <% "Duration Percentiles Section" %>
273
+ "height": 1,
274
+ "width": 24,
275
+ "y": <%= current_y %>,
276
+ "x": 0,
277
+ "type": "text",
278
+ "properties": {
279
+ "markdown": "\n# Duration Percentiles By Worker\n"
280
+ }
281
+ },
282
+ <% current_y += 1 %>
283
+
284
+
285
+ <%- app_worker_names.each_with_index do |worker_name, index| -%>
286
+ <%- current_y += 4 if (index > 0 && (index % 6) == 0) %>
287
+ { <% "Job Duration By Worker" %>
288
+ "height": 4,
289
+ "width": 4,
290
+ "y": <%= current_y %>,
291
+ "x": <%= (index % 6) * 4 %>,
292
+ "type": "metric",
293
+ "properties": {
294
+ "metrics": [
295
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "label": "p90", "stat": "p90", "color": "#d62728" } ],
296
+ [ "...", { "label": "p80", "stat": "p80", "color": "#2ca02c" } ],
297
+ [ "...", { "label": "p70", "stat": "p70", "color": "#ff7f0e" } ],
298
+ [ "...", { "label": "p60", "color": "#1f77b4" } ]
299
+ ],
300
+ "view": "timeSeries",
301
+ "stacked": false,
302
+ "region": "us-east-1",
303
+ "stat": "p60",
304
+ "period": 60,
305
+ "title": "<%= worker_name %> Duration Percentiles",
306
+ "legend": {
307
+ "position": "bottom"
308
+ }
309
+ }
310
+ },
311
+ <%- end -%>
312
+ <%- current_y += 3 if (app_worker_names.count - 1) % 6 != 0 %>
313
+
24
314
 
25
315
  <%- app_worker_names.each do |worker_name| -%>
26
316
  { <% "Worker" %>
@@ -36,7 +326,7 @@ Resources:
36
326
  <% current_y += 1 %>
37
327
 
38
328
  { <% "Worker Jobs per minute" %>
39
- "height": 2,
329
+ "height": 3,
40
330
  "width": 3,
41
331
  "y": <%= current_y %>,
42
332
  "x": 0,
@@ -54,7 +344,7 @@ Resources:
54
344
  }
55
345
  },
56
346
  { <% "Worker Jobs per minute" %>
57
- "height": 2,
347
+ "height": 3,
58
348
  "width": 3,
59
349
  "y": <%= current_y %>,
60
350
  "x": 3,
@@ -72,7 +362,7 @@ Resources:
72
362
  }
73
363
  },
74
364
  { <% "Worker Duration Percentiles" %>
75
- "height": 2,
365
+ "height": 3,
76
366
  "width": 3,
77
367
  "y": <%= current_y %>,
78
368
  "x": 6,
@@ -90,7 +380,7 @@ Resources:
90
380
  }
91
381
  },
92
382
  { <% "Worker Duration Percentiles" %>
93
- "height": 2,
383
+ "height": 3,
94
384
  "width": 3,
95
385
  "y": <%= current_y %>,
96
386
  "x": 9,
@@ -108,7 +398,7 @@ Resources:
108
398
  }
109
399
  },
110
400
  { <% "Worker Duration Percentiles" %>
111
- "height": 2,
401
+ "height": 3,
112
402
  "width": 3,
113
403
  "y": <%= current_y %>,
114
404
  "x": 12,
@@ -126,7 +416,7 @@ Resources:
126
416
  }
127
417
  },
128
418
  { <% "Worker Duration Percentiles" %>
129
- "height": 2,
419
+ "height": 3,
130
420
  "width": 3,
131
421
  "y": <%= current_y %>,
132
422
  "x": 15,
@@ -144,7 +434,7 @@ Resources:
144
434
  }
145
435
  },
146
436
  { <% "Worker Min/Max" %>
147
- "height": 2,
437
+ "height": 3,
148
438
  "width": 3,
149
439
  "y": <%= current_y %>,
150
440
  "x": 18,
@@ -162,7 +452,7 @@ Resources:
162
452
  }
163
453
  },
164
454
  { <% "Worker Min/Max" %>
165
- "height": 2,
455
+ "height": 3,
166
456
  "width": 3,
167
457
  "y": <%= current_y %>,
168
458
  "x": 21,
@@ -234,7 +524,7 @@ Resources:
234
524
  "type": "metric",
235
525
  "properties": {
236
526
  "metrics": [
237
- [ "funktor-testapp-dev", "Duration", "WorkerClassName", "AuditWorker", { "stat": "p90", "color": "#d62728" } ],
527
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "stat": "p90", "color": "#d62728" } ],
238
528
  [ "...", { "stat": "p80", "color": "#2ca02c" } ],
239
529
  [ "...", { "stat": "p70", "color": "#ff7f0e" } ],
240
530
  [ "...", { "color": "#1f77b4" } ]
@@ -292,54 +582,54 @@ Resources:
292
582
  }
293
583
  }
294
584
  },
295
-
296
585
  <% current_y += 6 %>
297
586
  <%- end -%>
298
587
 
299
-
300
- { <% "Job Duration By Worker" %>
588
+ { <% "Processed/Failed Jobs By Worker" %>
301
589
  "height": 6,
302
590
  "width": 12,
303
591
  "y": <%= current_y %>,
304
- "x": 12,
592
+ "x": 0,
305
593
  "type": "metric",
306
594
  "properties": {
307
595
  "metrics": [
308
596
  <%- app_worker_names.each do |worker_name| -%>
309
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>" ],
310
- [ "...", { "stat": "p99" } ]<%= worker_name == app_worker_names.last ? "" : "," %>
597
+ [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "<%= worker_name %>" ],
598
+ [ ".", "failed", ".", "." ]<%= worker_name == app_worker_names.last ? "" : "," %>
311
599
  <%- end -%>
312
600
  ],
313
601
  "view": "timeSeries",
314
602
  "stacked": false,
315
603
  "region": "us-east-1",
316
- "stat": "Average",
604
+ "title": "Process/Failed Jobs By Worker",
317
605
  "period": 60,
318
- "title": "Job Duration by Worker"
319
- }
606
+ "stat": "Sum"
607
+ }
320
608
  },
321
609
 
322
- { <% "Processed/Failed Jobs By Worker" %>
610
+ { <% "Job Duration By Worker" %>
323
611
  "height": 6,
324
612
  "width": 12,
325
613
  "y": <%= current_y %>,
326
- "x": 0,
614
+ "x": 12,
327
615
  "type": "metric",
328
616
  "properties": {
329
617
  "metrics": [
330
618
  <%- app_worker_names.each do |worker_name| -%>
331
- [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "<%= worker_name %>" ],
332
- [ ".", "failed", ".", "." ]<%= worker_name == app_worker_names.last ? "" : "," %>
619
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>" ],
620
+ [ "...", { "stat": "p99" } ]<%= worker_name == app_worker_names.last ? "" : "," %>
333
621
  <%- end -%>
334
622
  ],
335
623
  "view": "timeSeries",
336
624
  "stacked": false,
337
625
  "region": "us-east-1",
338
- "title": "Process/Failed Jobs By Worker",
626
+ "stat": "Average",
339
627
  "period": 60,
340
- "stat": "Sum"
341
- }
628
+ "title": "Job Duration by Worker"
629
+ }
342
630
  },
631
+
632
+
343
633
  <% current_y += 6 %>
344
634
 
345
635
  { <% "Job Duration By Queue" %>
@@ -436,17 +726,17 @@ Resources:
436
726
  "type": "metric",
437
727
  "properties": {
438
728
  "metrics": [
439
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", "Resource", "${self:custom.funktor.IncomingJobHandlerName}", { "label": "p10" } ],
440
- [ "...", { "label": "p50", "stat": "p50" } ],
441
- [ "...", { "label": "p99", "stat": "p99" } ],
442
- [ "...", { "label": "Average", "stat": "Average" } ]
729
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", "Resource", "${self:custom.funktor.IncomingJobHandlerName}", { "label": "p60" } ],
730
+ [ "...", { "label": "p70", "stat": "p70" } ],
731
+ [ "...", { "label": "p80", "stat": "p80" } ],
732
+ [ "...", { "label": "p90", "stat": "p90" } ]
443
733
  ],
444
734
  "view": "singleValue",
445
735
  "region": "us-east-1",
446
- "stat": "p10",
736
+ "stat": "p60",
447
737
  "period": 60,
448
738
  "sparkline": true,
449
- "title": "Handler Duration"
739
+ "title": "Handler Duration Percentiles"
450
740
  }
451
741
  },
452
742
 
@@ -487,9 +777,10 @@ Resources:
487
777
  "properties": {
488
778
  "period": 60,
489
779
  "metrics": [
490
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "Minimum" } ],
491
- [ "...", { "stat": "Average" } ],
492
- [ "...", { "stat": "Maximum" } ]
780
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p60" } ],
781
+ [ "...", { "stat": "p70" } ],
782
+ [ "...", { "stat": "p80" } ],
783
+ [ "...", { "stat": "p90" } ]
493
784
  ],
494
785
  "region": "us-east-1",
495
786
  "title": "Incoming Job Handler Duration in Milliseconds",
@@ -587,14 +878,14 @@ Resources:
587
878
  "metrics": [
588
879
  [ "AWS/Lambda", "Duration", "FunctionName",
589
880
  "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", "Resource",
590
- "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "label": "p10" } ],
591
- [ "...", { "label": "p50", "stat": "p50" } ],
592
- [ "...", { "label": "p99", "stat": "p99" } ],
593
- [ "...", { "label": "Average", "stat": "Average" } ]
881
+ "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "label": "p60" } ],
882
+ [ "...", { "label": "p70", "stat": "p70" } ],
883
+ [ "...", { "label": "p80", "stat": "p80" } ],
884
+ [ "...", { "label": "p90", "stat": "p90" } ]
594
885
  ],
595
886
  "view": "singleValue",
596
887
  "region": "us-east-1",
597
- "stat": "p10",
888
+ "stat": "p60",
598
889
  "period": 60,
599
890
  "sparkline": true,
600
891
  "title": "Handler Duration"
@@ -639,9 +930,10 @@ Resources:
639
930
  "properties": {
640
931
  "period": 60,
641
932
  "metrics": [
642
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "stat": "Minimum" } ],
643
- [ "...", { "stat": "Average" } ],
644
- [ "...", { "stat": "Maximum" } ]
933
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "stat": "p60" } ],
934
+ [ "...", { "stat": "p70" } ],
935
+ [ "...", { "stat": "p80" } ],
936
+ [ "...", { "stat": "p90" } ]
645
937
  ],
646
938
  "region": "us-east-1",
647
939
  "title": "<%= queue_name.camelize %> Queue Handler Duration in Milliseconds",
@@ -737,14 +1029,14 @@ Resources:
737
1029
  "type": "metric",
738
1030
  "properties": {
739
1031
  "metrics": [
740
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", "Resource", "${self:custom.funktor.JobActivatorName}", { "label": "p10" } ],
741
- [ "...", { "label": "p50", "stat": "p50" } ],
742
- [ "...", { "label": "p99", "stat": "p99" } ],
743
- [ "...", { "label": "Average", "stat": "Average" } ]
1032
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", "Resource", "${self:custom.funktor.JobActivatorName}", { "label": "p60" } ],
1033
+ [ "...", { "label": "p70", "stat": "p70" } ],
1034
+ [ "...", { "label": "p80", "stat": "p80" } ],
1035
+ [ "...", { "label": "p90", "stat": "p90" } ]
744
1036
  ],
745
1037
  "view": "singleValue",
746
1038
  "region": "us-east-1",
747
- "stat": "p10",
1039
+ "stat": "p60",
748
1040
  "period": 60,
749
1041
  "sparkline": true,
750
1042
  "title": "Handler Duration"
@@ -788,9 +1080,10 @@ Resources:
788
1080
  "properties": {
789
1081
  "period": 60,
790
1082
  "metrics": [
791
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Minimum" } ],
792
- [ "...", { "stat": "Average" } ],
793
- [ "...", { "stat": "Maximum" } ]
1083
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "p60" } ],
1084
+ [ "...", { "stat": "p70" } ],
1085
+ [ "...", { "stat": "p80" } ],
1086
+ [ "...", { "stat": "p90" } ]
794
1087
  ],
795
1088
  "region": "us-east-1",
796
1089
  "title": "Delayed Job Scheduler Duration",
@@ -1,3 +1,3 @@
1
1
  module Funktor
2
- VERSION = "0.7.9"
2
+ VERSION = "0.7.12"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: funktor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.9
4
+ version: 0.7.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Green
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-18 00:00:00.000000000 Z
11
+ date: 2022-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-sqs