funktor 0.7.19 → 0.7.22

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.
@@ -44,7 +44,7 @@ Resources:
44
44
  "metrics": [
45
45
  [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "HelloWorker", { "color": "#2ca02c" } ],
46
46
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "HelloWorker", { "label": "p90", "color": "#ff7f0e", "stat": "p90" } ],
47
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "HelloWorker", { "label": "p60", "color": "#1f77b4", "stat": "p60" } ]
47
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "HelloWorker", { "label": "p50", "color": "#1f77b4", "stat": "p50" } ]
48
48
  ],
49
49
  "view": "singleValue",
50
50
  "region": "us-east-1",
@@ -83,7 +83,7 @@ Resources:
83
83
  "metrics": [
84
84
  [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "AuditWorker", { "color": "#2ca02c" } ],
85
85
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "AuditWorker", { "label": "p90", "color": "#ff7f0e", "stat": "p90" } ],
86
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "AuditWorker", { "label": "p60", "color": "#1f77b4", "stat": "p60" } ]
86
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "AuditWorker", { "label": "p50", "color": "#1f77b4", "stat": "p50" } ]
87
87
  ],
88
88
  "view": "singleValue",
89
89
  "region": "us-east-1",
@@ -122,7 +122,7 @@ Resources:
122
122
  "metrics": [
123
123
  [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "GreetingsWorker", { "color": "#2ca02c" } ],
124
124
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "GreetingsWorker", { "label": "p90", "color": "#ff7f0e", "stat": "p90" } ],
125
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "GreetingsWorker", { "label": "p60", "color": "#1f77b4", "stat": "p60" } ]
125
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "GreetingsWorker", { "label": "p50", "color": "#1f77b4", "stat": "p50" } ]
126
126
  ],
127
127
  "view": "singleValue",
128
128
  "region": "us-east-1",
@@ -161,7 +161,7 @@ Resources:
161
161
  "metrics": [
162
162
  [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "SingleThreadAuditWorker", { "color": "#2ca02c" } ],
163
163
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "SingleThreadAuditWorker", { "label": "p90", "color": "#ff7f0e", "stat": "p90" } ],
164
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "SingleThreadAuditWorker", { "label": "p60", "color": "#1f77b4", "stat": "p60" } ]
164
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "SingleThreadAuditWorker", { "label": "p50", "color": "#1f77b4", "stat": "p50" } ]
165
165
  ],
166
166
  "view": "singleValue",
167
167
  "region": "us-east-1",
@@ -248,14 +248,14 @@ Resources:
248
248
  "type": "metric",
249
249
  "properties": {
250
250
  "metrics": [
251
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "HelloWorker", { "label": "p60", "color": "#1f77b4" } ]
251
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "HelloWorker", { "label": "p20", "color": "#1f77b4" } ]
252
252
  ],
253
253
  "view": "singleValue",
254
254
  "region": "us-east-1",
255
- "stat": "p60",
255
+ "stat": "p20",
256
256
  "period": 60,
257
257
  "sparkline": true,
258
- "title": "HelloWorker p60"
258
+ "title": "HelloWorker p20"
259
259
  }
260
260
  },
261
261
  {
@@ -266,14 +266,14 @@ Resources:
266
266
  "type": "metric",
267
267
  "properties": {
268
268
  "metrics": [
269
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "HelloWorker", { "label": "p70", "color": "#ff7f0e" } ]
269
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "HelloWorker", { "label": "p50", "color": "#ff7f0e" } ]
270
270
  ],
271
271
  "view": "singleValue",
272
272
  "region": "us-east-1",
273
- "stat": "p70",
273
+ "stat": "p50",
274
274
  "period": 60,
275
275
  "sparkline": true,
276
- "title": "HelloWorker p70"
276
+ "title": "HelloWorker p50"
277
277
  }
278
278
  },
279
279
  {
@@ -350,9 +350,6 @@ Resources:
350
350
  },
351
351
 
352
352
 
353
-
354
-
355
-
356
353
  {
357
354
  "height": 3,
358
355
  "width": 3,
@@ -405,13 +402,13 @@ Resources:
405
402
  "metrics": [
406
403
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "HelloWorker", { "stat": "p90", "color": "#d62728" } ],
407
404
  [ "...", { "stat": "p80", "color": "#2ca02c" } ],
408
- [ "...", { "stat": "p70", "color": "#ff7f0e" } ],
405
+ [ "...", { "stat": "p50", "color": "#ff7f0e" } ],
409
406
  [ "...", { "color": "#1f77b4" } ]
410
407
  ],
411
408
  "view": "timeSeries",
412
409
  "stacked": false,
413
410
  "region": "us-east-1",
414
- "stat": "p60",
411
+ "stat": "p20",
415
412
  "period": 60,
416
413
  "title": "HelloWorker Duration Percentiles",
417
414
  "legend": {
@@ -518,14 +515,14 @@ Resources:
518
515
  "type": "metric",
519
516
  "properties": {
520
517
  "metrics": [
521
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "AuditWorker", { "label": "p60", "color": "#1f77b4" } ]
518
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "AuditWorker", { "label": "p20", "color": "#1f77b4" } ]
522
519
  ],
523
520
  "view": "singleValue",
524
521
  "region": "us-east-1",
525
- "stat": "p60",
522
+ "stat": "p20",
526
523
  "period": 60,
527
524
  "sparkline": true,
528
- "title": "AuditWorker p60"
525
+ "title": "AuditWorker p20"
529
526
  }
530
527
  },
531
528
  {
@@ -536,14 +533,14 @@ Resources:
536
533
  "type": "metric",
537
534
  "properties": {
538
535
  "metrics": [
539
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "AuditWorker", { "label": "p70", "color": "#ff7f0e" } ]
536
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "AuditWorker", { "label": "p50", "color": "#ff7f0e" } ]
540
537
  ],
541
538
  "view": "singleValue",
542
539
  "region": "us-east-1",
543
- "stat": "p70",
540
+ "stat": "p50",
544
541
  "period": 60,
545
542
  "sparkline": true,
546
- "title": "AuditWorker p70"
543
+ "title": "AuditWorker p50"
547
544
  }
548
545
  },
549
546
  {
@@ -620,9 +617,6 @@ Resources:
620
617
  },
621
618
 
622
619
 
623
-
624
-
625
-
626
620
  {
627
621
  "height": 3,
628
622
  "width": 3,
@@ -675,13 +669,13 @@ Resources:
675
669
  "metrics": [
676
670
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "AuditWorker", { "stat": "p90", "color": "#d62728" } ],
677
671
  [ "...", { "stat": "p80", "color": "#2ca02c" } ],
678
- [ "...", { "stat": "p70", "color": "#ff7f0e" } ],
672
+ [ "...", { "stat": "p50", "color": "#ff7f0e" } ],
679
673
  [ "...", { "color": "#1f77b4" } ]
680
674
  ],
681
675
  "view": "timeSeries",
682
676
  "stacked": false,
683
677
  "region": "us-east-1",
684
- "stat": "p60",
678
+ "stat": "p20",
685
679
  "period": 60,
686
680
  "title": "AuditWorker Duration Percentiles",
687
681
  "legend": {
@@ -788,14 +782,14 @@ Resources:
788
782
  "type": "metric",
789
783
  "properties": {
790
784
  "metrics": [
791
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "GreetingsWorker", { "label": "p60", "color": "#1f77b4" } ]
785
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "GreetingsWorker", { "label": "p20", "color": "#1f77b4" } ]
792
786
  ],
793
787
  "view": "singleValue",
794
788
  "region": "us-east-1",
795
- "stat": "p60",
789
+ "stat": "p20",
796
790
  "period": 60,
797
791
  "sparkline": true,
798
- "title": "GreetingsWorker p60"
792
+ "title": "GreetingsWorker p20"
799
793
  }
800
794
  },
801
795
  {
@@ -806,14 +800,14 @@ Resources:
806
800
  "type": "metric",
807
801
  "properties": {
808
802
  "metrics": [
809
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "GreetingsWorker", { "label": "p70", "color": "#ff7f0e" } ]
803
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "GreetingsWorker", { "label": "p50", "color": "#ff7f0e" } ]
810
804
  ],
811
805
  "view": "singleValue",
812
806
  "region": "us-east-1",
813
- "stat": "p70",
807
+ "stat": "p50",
814
808
  "period": 60,
815
809
  "sparkline": true,
816
- "title": "GreetingsWorker p70"
810
+ "title": "GreetingsWorker p50"
817
811
  }
818
812
  },
819
813
  {
@@ -890,9 +884,6 @@ Resources:
890
884
  },
891
885
 
892
886
 
893
-
894
-
895
-
896
887
  {
897
888
  "height": 3,
898
889
  "width": 3,
@@ -945,13 +936,13 @@ Resources:
945
936
  "metrics": [
946
937
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "GreetingsWorker", { "stat": "p90", "color": "#d62728" } ],
947
938
  [ "...", { "stat": "p80", "color": "#2ca02c" } ],
948
- [ "...", { "stat": "p70", "color": "#ff7f0e" } ],
939
+ [ "...", { "stat": "p50", "color": "#ff7f0e" } ],
949
940
  [ "...", { "color": "#1f77b4" } ]
950
941
  ],
951
942
  "view": "timeSeries",
952
943
  "stacked": false,
953
944
  "region": "us-east-1",
954
- "stat": "p60",
945
+ "stat": "p20",
955
946
  "period": 60,
956
947
  "title": "GreetingsWorker Duration Percentiles",
957
948
  "legend": {
@@ -1058,14 +1049,14 @@ Resources:
1058
1049
  "type": "metric",
1059
1050
  "properties": {
1060
1051
  "metrics": [
1061
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "SingleThreadAuditWorker", { "label": "p60", "color": "#1f77b4" } ]
1052
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "SingleThreadAuditWorker", { "label": "p20", "color": "#1f77b4" } ]
1062
1053
  ],
1063
1054
  "view": "singleValue",
1064
1055
  "region": "us-east-1",
1065
- "stat": "p60",
1056
+ "stat": "p20",
1066
1057
  "period": 60,
1067
1058
  "sparkline": true,
1068
- "title": "SingleThreadAuditWorker p60"
1059
+ "title": "SingleThreadAuditWorker p20"
1069
1060
  }
1070
1061
  },
1071
1062
  {
@@ -1076,14 +1067,14 @@ Resources:
1076
1067
  "type": "metric",
1077
1068
  "properties": {
1078
1069
  "metrics": [
1079
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "SingleThreadAuditWorker", { "label": "p70", "color": "#ff7f0e" } ]
1070
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "SingleThreadAuditWorker", { "label": "p50", "color": "#ff7f0e" } ]
1080
1071
  ],
1081
1072
  "view": "singleValue",
1082
1073
  "region": "us-east-1",
1083
- "stat": "p70",
1074
+ "stat": "p50",
1084
1075
  "period": 60,
1085
1076
  "sparkline": true,
1086
- "title": "SingleThreadAuditWorker p70"
1077
+ "title": "SingleThreadAuditWorker p50"
1087
1078
  }
1088
1079
  },
1089
1080
  {
@@ -1160,9 +1151,6 @@ Resources:
1160
1151
  },
1161
1152
 
1162
1153
 
1163
-
1164
-
1165
-
1166
1154
  {
1167
1155
  "height": 3,
1168
1156
  "width": 3,
@@ -1215,13 +1203,13 @@ Resources:
1215
1203
  "metrics": [
1216
1204
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "SingleThreadAuditWorker", { "stat": "p90", "color": "#d62728" } ],
1217
1205
  [ "...", { "stat": "p80", "color": "#2ca02c" } ],
1218
- [ "...", { "stat": "p70", "color": "#ff7f0e" } ],
1206
+ [ "...", { "stat": "p50", "color": "#ff7f0e" } ],
1219
1207
  [ "...", { "color": "#1f77b4" } ]
1220
1208
  ],
1221
1209
  "view": "timeSeries",
1222
1210
  "stacked": false,
1223
1211
  "region": "us-east-1",
1224
- "stat": "p60",
1212
+ "stat": "p20",
1225
1213
  "period": 60,
1226
1214
  "title": "SingleThreadAuditWorker Duration Percentiles",
1227
1215
  "legend": {
@@ -1274,7 +1262,7 @@ Resources:
1274
1262
 
1275
1263
 
1276
1264
  {
1277
- "height": 3,
1265
+ "height": 2,
1278
1266
  "width": 24,
1279
1267
  "y": 54,
1280
1268
  "x": 0,
@@ -1283,23 +1271,23 @@ Resources:
1283
1271
  "markdown": "\n# Behind the scenes\n\n The stats below give some insight into the inner workings of the Funktor apparatus."
1284
1272
  }
1285
1273
  },
1274
+
1286
1275
 
1287
1276
 
1288
-
1289
1277
  {
1290
1278
  "height": 3,
1291
1279
  "width": 6,
1292
- "y": 60,
1280
+ "y": 56,
1293
1281
  "x": 0,
1294
1282
  "type": "text",
1295
1283
  "properties": {
1296
- "markdown": "\n# Incoming Jobs\n"
1284
+ "markdown": "\n# Incoming Jobs\n All jobs enter the system here. Jobs that are to be executed within the next 90 second go directly to a work queue. Jobs farther in the future are put in the jobs table."
1297
1285
  }
1298
1286
  },
1299
1287
  {
1300
1288
  "height": 3,
1301
1289
  "width": 3,
1302
- "y": 60,
1290
+ "y": 56,
1303
1291
  "x": 6,
1304
1292
  "type": "metric",
1305
1293
  "properties": {
@@ -1317,31 +1305,31 @@ Resources:
1317
1305
  {
1318
1306
  "height": 3,
1319
1307
  "width": 15,
1320
- "y": 60,
1308
+ "y": 56,
1321
1309
  "x": 9,
1322
1310
  "type": "metric",
1323
1311
  "properties": {
1324
1312
  "metrics": [
1325
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", "Resource", "${self:custom.funktor.IncomingJobHandlerName}", { "label": "p60" } ],
1326
- [ "...", { "label": "p70", "stat": "p70" } ],
1313
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", "Resource", "${self:custom.funktor.IncomingJobHandlerName}", { "label": "p20" } ],
1314
+ [ "...", { "label": "p50", "stat": "p50" } ],
1327
1315
  [ "...", { "label": "p80", "stat": "p80" } ],
1328
1316
  [ "...", { "label": "p90", "stat": "p90" } ]
1329
1317
  ],
1330
1318
  "view": "singleValue",
1331
1319
  "region": "us-east-1",
1332
- "stat": "p60",
1320
+ "stat": "p20",
1333
1321
  "period": 60,
1334
1322
  "sparkline": true,
1335
1323
  "title": "Handler Duration Percentiles"
1336
1324
  }
1337
1325
  },
1326
+
1338
1327
 
1339
1328
 
1340
-
1341
1329
  {
1342
- "height": 6,
1330
+ "height": 4,
1343
1331
  "width": 9,
1344
- "y": 63,
1332
+ "y": 59,
1345
1333
  "x": 0,
1346
1334
  "type": "metric",
1347
1335
  "properties": {
@@ -1357,7 +1345,7 @@ Resources:
1357
1345
  "view": "timeSeries",
1358
1346
  "stacked": false,
1359
1347
  "region": "us-east-1",
1360
- "title": "Incoming Job Queue (Async & scheduled jobs land here first)",
1348
+ "title": "Incoming Job Queue Counts",
1361
1349
  "period": 60,
1362
1350
  "stat": "Sum",
1363
1351
  "setPeriodToTimeRange": true,
@@ -1365,21 +1353,25 @@ Resources:
1365
1353
  }
1366
1354
  },
1367
1355
  {
1368
- "height": 6,
1369
- "width": 9,
1356
+ "height": 3,
1357
+ "width": 4,
1370
1358
  "y": 63,
1371
- "x": 9,
1359
+ "x": 0,
1372
1360
  "type": "metric",
1373
1361
  "properties": {
1374
1362
  "period": 60,
1375
1363
  "metrics": [
1376
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p60" } ],
1377
- [ "...", { "stat": "p70" } ],
1378
- [ "...", { "stat": "p80" } ],
1379
- [ "...", { "stat": "p90" } ]
1364
+ [ "AWS/Lambda", "Errors", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "id": "errors", "stat": "Sum", "color": "#d13212" } ],
1365
+ [ ".", "Invocations", ".", ".", { "id": "invocations", "stat": "Sum", "visible": false } ],
1366
+ [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
1380
1367
  ],
1381
1368
  "region": "us-east-1",
1382
- "title": "Incoming Job Handler Duration in Milliseconds",
1369
+ "title": "Incoming Job Handler Error count and success rate (%)",
1370
+ "yAxis": {
1371
+ "right": {
1372
+ "max": 100
1373
+ }
1374
+ },
1383
1375
  "view": "timeSeries",
1384
1376
  "stacked": false,
1385
1377
  "liveData": true
@@ -1387,67 +1379,90 @@ Resources:
1387
1379
  },
1388
1380
  {
1389
1381
  "height": 3,
1390
- "width": 6,
1382
+ "width": 5,
1391
1383
  "y": 63,
1392
- "x": 18,
1384
+ "x": 4,
1393
1385
  "type": "metric",
1394
1386
  "properties": {
1395
1387
  "period": 60,
1396
1388
  "metrics": [
1397
- [ "AWS/Lambda", "Errors", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "id": "errors", "stat": "Sum", "color": "#d13212" } ],
1398
- [ ".", "Invocations", ".", ".", { "id": "invocations", "stat": "Sum", "visible": false } ],
1399
- [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
1389
+ [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "Maximum" } ]
1400
1390
  ],
1401
1391
  "region": "us-east-1",
1402
- "title": "Incoming Job Handler Error count and success rate (%)",
1403
- "yAxis": {
1404
- "right": {
1405
- "max": 100
1406
- }
1407
- },
1392
+ "title": "Incoming Job Handler Concurrent Executions",
1408
1393
  "view": "timeSeries",
1409
1394
  "stacked": false,
1410
1395
  "liveData": true
1411
1396
  }
1412
1397
  },
1413
-
1414
-
1398
+
1415
1399
  {
1416
- "height": 3,
1417
- "width": 6,
1418
- "y": 66,
1419
- "x": 18,
1400
+ "x": 9,
1401
+ "y": 59,
1402
+ "width": 10,
1403
+ "height": 7,
1420
1404
  "type": "metric",
1421
1405
  "properties": {
1422
1406
  "period": 60,
1423
1407
  "metrics": [
1424
- [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "Maximum" } ]
1408
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p20" } ],
1409
+ [ "...", { "stat": "p50" } ],
1410
+ [ "...", { "stat": "p80" } ],
1411
+ [ "...", { "stat": "p90" } ]
1425
1412
  ],
1426
1413
  "region": "us-east-1",
1427
- "title": "Incoming Job Handler Concurrent Executions",
1414
+ "title": "Incoming Job Handler Duration in Milliseconds",
1428
1415
  "view": "timeSeries",
1429
1416
  "stacked": false,
1430
1417
  "liveData": true
1431
1418
  }
1432
1419
  },
1420
+ {
1421
+ "type": "log",
1422
+ "height": 4,
1423
+ "width": 5,
1424
+ "y": 59,
1425
+ "x": 19,
1426
+ "properties": {
1427
+ "query": "SOURCE '/aws/lambda/${self:custom.funktor.IncomingJobHandlerName}' | fields @initDuration\n| filter ispresent(@initDuration)\n| stats pct(@initDuration, 5) as p5,\n\n\n\n pct(@initDuration, 50) as p50,\n\n\n\n pct(@initDuration, 95) as p95,\n\n\n\n pct(@initDuration, 99) as p99\n\n\n\n by bin(20m)\n",
1428
+ "region": "us-east-1",
1429
+ "stacked": false,
1430
+ "view": "timeSeries",
1431
+ "title": "Incoming Job Handler Init Duration"
1432
+ }
1433
+ },
1434
+ {
1435
+ "height": 3,
1436
+ "width": 5,
1437
+ "y": 63,
1438
+ "x": 19,
1439
+ "type": "log",
1440
+ "properties": {
1441
+ "query": "SOURCE '/aws/lambda/${self:custom.funktor.IncomingJobHandlerName}' | filter @type=\"REPORT\"\n| stats max(@memorySize) as provisioned,\navg(@maxMemoryUsed) as avg_used,\nmax(@maxMemoryUsed) as max_used by bin(60s)",
1442
+ "region": "us-east-1",
1443
+ "stacked": false,
1444
+ "title": "IncomingJobHandler Memory",
1445
+ "view": "timeSeries"
1446
+ }
1447
+ },
1448
+
1433
1449
 
1434
1450
 
1435
1451
 
1436
-
1437
1452
  {
1438
1453
  "height": 3,
1439
1454
  "width": 6,
1440
- "y": 69,
1455
+ "y": 66,
1441
1456
  "x": 0,
1442
1457
  "type": "text",
1443
1458
  "properties": {
1444
- "markdown": "\n# Default Queue\n"
1459
+ "markdown": "\n# Default Queue\n Async jobs land here immediately, scheduled jobs land here in the minute before they're scheduled."
1445
1460
  }
1446
1461
  },
1447
1462
  {
1448
1463
  "height": 3,
1449
1464
  "width": 3,
1450
- "y": 69,
1465
+ "y": 66,
1451
1466
  "x": 6,
1452
1467
  "type": "metric",
1453
1468
  "properties": {
@@ -1466,30 +1481,32 @@ Resources:
1466
1481
  {
1467
1482
  "height": 3,
1468
1483
  "width": 15,
1469
- "y": 69,
1484
+ "y": 66,
1470
1485
  "x": 9,
1471
1486
  "type": "metric",
1472
1487
  "properties": {
1473
1488
  "metrics": [
1474
1489
  [ "AWS/Lambda", "Duration", "FunctionName",
1475
1490
  "${self:custom.funktor.DefaultQueueHandlerName}", "Resource",
1476
- "${self:custom.funktor.DefaultQueueHandlerName}", { "label": "p60" } ],
1477
- [ "...", { "label": "p70", "stat": "p70" } ],
1491
+ "${self:custom.funktor.DefaultQueueHandlerName}", { "label": "p20" } ],
1492
+ [ "...", { "label": "p50", "stat": "p50" } ],
1478
1493
  [ "...", { "label": "p80", "stat": "p80" } ],
1479
1494
  [ "...", { "label": "p90", "stat": "p90" } ]
1480
1495
  ],
1481
1496
  "view": "singleValue",
1482
1497
  "region": "us-east-1",
1483
- "stat": "p60",
1498
+ "stat": "p20",
1484
1499
  "period": 60,
1485
1500
  "sparkline": true,
1486
1501
  "title": "Handler Duration"
1487
1502
  }
1488
1503
  },
1504
+
1505
+
1489
1506
  {
1490
- "height": 6,
1507
+ "height": 4,
1491
1508
  "width": 9,
1492
- "y": 72,
1509
+ "y": 69,
1493
1510
  "x": 0,
1494
1511
  "type": "metric",
1495
1512
  "properties": {
@@ -1510,38 +1527,17 @@ Resources:
1510
1527
  "view": "timeSeries",
1511
1528
  "stacked": false,
1512
1529
  "region": "us-east-1",
1513
- "title": "Default Queue (Async jobs go here immediately, scheduled jobs land here in the minute before they're scheduled)",
1530
+ "title": "Default Queue Counts",
1514
1531
  "period": 60,
1515
1532
  "stat": "Sum",
1516
1533
  "liveData": true
1517
1534
  }
1518
1535
  },
1519
- {
1520
- "height": 6,
1521
- "width": 9,
1522
- "y": 72,
1523
- "x": 9,
1524
- "type": "metric",
1525
- "properties": {
1526
- "period": 60,
1527
- "metrics": [
1528
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.DefaultQueueHandlerName}", { "stat": "p60" } ],
1529
- [ "...", { "stat": "p70" } ],
1530
- [ "...", { "stat": "p80" } ],
1531
- [ "...", { "stat": "p90" } ]
1532
- ],
1533
- "region": "us-east-1",
1534
- "title": "Default Queue Handler Duration in Milliseconds",
1535
- "view": "timeSeries",
1536
- "stacked": false,
1537
- "liveData": true
1538
- }
1539
- },
1540
1536
  {
1541
1537
  "height": 3,
1542
- "width": 6,
1543
- "y": 72,
1544
- "x": 18,
1538
+ "width": 4,
1539
+ "y": 73,
1540
+ "x": 0,
1545
1541
  "type": "metric",
1546
1542
  "properties": {
1547
1543
  "period": 60,
@@ -1565,9 +1561,9 @@ Resources:
1565
1561
  },
1566
1562
  {
1567
1563
  "height": 3,
1568
- "width": 6,
1569
- "y": 75,
1570
- "x": 18,
1564
+ "width": 5,
1565
+ "y": 73,
1566
+ "x": 4,
1571
1567
  "type": "metric",
1572
1568
  "properties": {
1573
1569
  "period": 60,
@@ -1583,21 +1579,70 @@ Resources:
1583
1579
  }
1584
1580
  },
1585
1581
 
1582
+ {
1583
+ "x": 9,
1584
+ "y": 69,
1585
+ "width": 10,
1586
+ "height": 7,
1587
+ "type": "metric",
1588
+ "properties": {
1589
+ "period": 60,
1590
+ "metrics": [
1591
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.DefaultQueueHandlerName}", { "stat": "p20" } ],
1592
+ [ "...", { "stat": "p50" } ],
1593
+ [ "...", { "stat": "p80" } ],
1594
+ [ "...", { "stat": "p90" } ]
1595
+ ],
1596
+ "region": "us-east-1",
1597
+ "title": "Default Queue Handler Duration in Milliseconds",
1598
+ "view": "timeSeries",
1599
+ "stacked": false,
1600
+ "liveData": true
1601
+ }
1602
+ },
1603
+ {
1604
+ "type": "log",
1605
+ "height": 4,
1606
+ "width": 5,
1607
+ "y": 69,
1608
+ "x": 19,
1609
+ "properties": {
1610
+ "query": "SOURCE '/aws/lambda/${self:custom.funktor.DefaultQueueHandlerName}' | fields @initDuration\n| filter ispresent(@initDuration)\n| stats pct(@initDuration, 5) as p5,\n\n\n\n pct(@initDuration, 50) as p50,\n\n\n\n pct(@initDuration, 95) as p95,\n\n\n\n pct(@initDuration, 99) as p99\n\n\n\n by bin(20m)\n",
1611
+ "region": "us-east-1",
1612
+ "stacked": false,
1613
+ "view": "timeSeries",
1614
+ "title": "Default Handler Init Duration"
1615
+ }
1616
+ },
1617
+ {
1618
+ "height": 3,
1619
+ "width": 5,
1620
+ "y": 73,
1621
+ "x": 19,
1622
+ "type": "log",
1623
+ "properties": {
1624
+ "query": "SOURCE '/aws/lambda/${self:custom.funktor.DefaultQueueHandlerName}' | filter @type=\"REPORT\"\n| stats max(@memorySize) as provisioned,\navg(@maxMemoryUsed) as avg_used,\nmax(@maxMemoryUsed) as max_used by bin(60s)",
1625
+ "region": "us-east-1",
1626
+ "stacked": false,
1627
+ "title": "Default Handler Memory",
1628
+ "view": "timeSeries"
1629
+ }
1630
+ },
1586
1631
 
1587
1632
  {
1588
1633
  "height": 3,
1589
1634
  "width": 6,
1590
- "y": 78,
1635
+ "y": 76,
1591
1636
  "x": 0,
1592
1637
  "type": "text",
1593
1638
  "properties": {
1594
- "markdown": "\n# LowConcurrency Queue\n"
1639
+ "markdown": "\n# LowConcurrency Queue\n Async jobs land here immediately, scheduled jobs land here in the minute before they're scheduled."
1595
1640
  }
1596
1641
  },
1597
1642
  {
1598
1643
  "height": 3,
1599
1644
  "width": 3,
1600
- "y": 78,
1645
+ "y": 76,
1601
1646
  "x": 6,
1602
1647
  "type": "metric",
1603
1648
  "properties": {
@@ -1616,30 +1661,32 @@ Resources:
1616
1661
  {
1617
1662
  "height": 3,
1618
1663
  "width": 15,
1619
- "y": 78,
1664
+ "y": 76,
1620
1665
  "x": 9,
1621
1666
  "type": "metric",
1622
1667
  "properties": {
1623
1668
  "metrics": [
1624
1669
  [ "AWS/Lambda", "Duration", "FunctionName",
1625
1670
  "${self:custom.funktor.LowConcurrencyQueueHandlerName}", "Resource",
1626
- "${self:custom.funktor.LowConcurrencyQueueHandlerName}", { "label": "p60" } ],
1627
- [ "...", { "label": "p70", "stat": "p70" } ],
1671
+ "${self:custom.funktor.LowConcurrencyQueueHandlerName}", { "label": "p20" } ],
1672
+ [ "...", { "label": "p50", "stat": "p50" } ],
1628
1673
  [ "...", { "label": "p80", "stat": "p80" } ],
1629
1674
  [ "...", { "label": "p90", "stat": "p90" } ]
1630
1675
  ],
1631
1676
  "view": "singleValue",
1632
1677
  "region": "us-east-1",
1633
- "stat": "p60",
1678
+ "stat": "p20",
1634
1679
  "period": 60,
1635
1680
  "sparkline": true,
1636
1681
  "title": "Handler Duration"
1637
1682
  }
1638
1683
  },
1684
+
1685
+
1639
1686
  {
1640
- "height": 6,
1687
+ "height": 4,
1641
1688
  "width": 9,
1642
- "y": 81,
1689
+ "y": 79,
1643
1690
  "x": 0,
1644
1691
  "type": "metric",
1645
1692
  "properties": {
@@ -1660,38 +1707,17 @@ Resources:
1660
1707
  "view": "timeSeries",
1661
1708
  "stacked": false,
1662
1709
  "region": "us-east-1",
1663
- "title": "LowConcurrency Queue (Async jobs go here immediately, scheduled jobs land here in the minute before they're scheduled)",
1710
+ "title": "LowConcurrency Queue Counts",
1664
1711
  "period": 60,
1665
1712
  "stat": "Sum",
1666
1713
  "liveData": true
1667
1714
  }
1668
1715
  },
1669
- {
1670
- "height": 6,
1671
- "width": 9,
1672
- "y": 81,
1673
- "x": 9,
1674
- "type": "metric",
1675
- "properties": {
1676
- "period": 60,
1677
- "metrics": [
1678
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.LowConcurrencyQueueHandlerName}", { "stat": "p60" } ],
1679
- [ "...", { "stat": "p70" } ],
1680
- [ "...", { "stat": "p80" } ],
1681
- [ "...", { "stat": "p90" } ]
1682
- ],
1683
- "region": "us-east-1",
1684
- "title": "LowConcurrency Queue Handler Duration in Milliseconds",
1685
- "view": "timeSeries",
1686
- "stacked": false,
1687
- "liveData": true
1688
- }
1689
- },
1690
1716
  {
1691
1717
  "height": 3,
1692
- "width": 6,
1693
- "y": 81,
1694
- "x": 18,
1718
+ "width": 4,
1719
+ "y": 83,
1720
+ "x": 0,
1695
1721
  "type": "metric",
1696
1722
  "properties": {
1697
1723
  "period": 60,
@@ -1715,9 +1741,9 @@ Resources:
1715
1741
  },
1716
1742
  {
1717
1743
  "height": 3,
1718
- "width": 6,
1719
- "y": 84,
1720
- "x": 18,
1744
+ "width": 5,
1745
+ "y": 83,
1746
+ "x": 4,
1721
1747
  "type": "metric",
1722
1748
  "properties": {
1723
1749
  "period": 60,
@@ -1733,24 +1759,72 @@ Resources:
1733
1759
  }
1734
1760
  },
1735
1761
 
1762
+ {
1763
+ "x": 9,
1764
+ "y": 79,
1765
+ "width": 10,
1766
+ "height": 7,
1767
+ "type": "metric",
1768
+ "properties": {
1769
+ "period": 60,
1770
+ "metrics": [
1771
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.LowConcurrencyQueueHandlerName}", { "stat": "p20" } ],
1772
+ [ "...", { "stat": "p50" } ],
1773
+ [ "...", { "stat": "p80" } ],
1774
+ [ "...", { "stat": "p90" } ]
1775
+ ],
1776
+ "region": "us-east-1",
1777
+ "title": "LowConcurrency Queue Handler Duration in Milliseconds",
1778
+ "view": "timeSeries",
1779
+ "stacked": false,
1780
+ "liveData": true
1781
+ }
1782
+ },
1783
+ {
1784
+ "type": "log",
1785
+ "height": 4,
1786
+ "width": 5,
1787
+ "y": 79,
1788
+ "x": 19,
1789
+ "properties": {
1790
+ "query": "SOURCE '/aws/lambda/${self:custom.funktor.LowConcurrencyQueueHandlerName}' | fields @initDuration\n| filter ispresent(@initDuration)\n| stats pct(@initDuration, 5) as p5,\n\n\n\n pct(@initDuration, 50) as p50,\n\n\n\n pct(@initDuration, 95) as p95,\n\n\n\n pct(@initDuration, 99) as p99\n\n\n\n by bin(20m)\n",
1791
+ "region": "us-east-1",
1792
+ "stacked": false,
1793
+ "view": "timeSeries",
1794
+ "title": "LowConcurrency Handler Init Duration"
1795
+ }
1796
+ },
1797
+ {
1798
+ "height": 3,
1799
+ "width": 5,
1800
+ "y": 83,
1801
+ "x": 19,
1802
+ "type": "log",
1803
+ "properties": {
1804
+ "query": "SOURCE '/aws/lambda/${self:custom.funktor.LowConcurrencyQueueHandlerName}' | filter @type=\"REPORT\"\n| stats max(@memorySize) as provisioned,\navg(@maxMemoryUsed) as avg_used,\nmax(@maxMemoryUsed) as max_used by bin(60s)",
1805
+ "region": "us-east-1",
1806
+ "stacked": false,
1807
+ "title": "LowConcurrency Handler Memory",
1808
+ "view": "timeSeries"
1809
+ }
1810
+ },
1736
1811
 
1737
1812
 
1738
-
1739
1813
 
1740
1814
  {
1741
1815
  "height": 3,
1742
1816
  "width": 6,
1743
- "y": 87,
1817
+ "y": 86,
1744
1818
  "x": 0,
1745
1819
  "type": "text",
1746
1820
  "properties": {
1747
- "markdown": "\n# Delayed Jobs\n"
1821
+ "markdown": "\n# Delayed Job Activator\n This job fires every minute and pulls jobs scheduled in the next 90 seconds from the table and sends them to the Incoming Jobs Queue."
1748
1822
  }
1749
1823
  },
1750
1824
  {
1751
1825
  "height": 3,
1752
1826
  "width": 3,
1753
- "y": 87,
1827
+ "y": 86,
1754
1828
  "x": 6,
1755
1829
  "type": "metric",
1756
1830
  "properties": {
@@ -1768,33 +1842,35 @@ Resources:
1768
1842
  {
1769
1843
  "height": 3,
1770
1844
  "width": 15,
1771
- "y": 87,
1845
+ "y": 86,
1772
1846
  "x": 9,
1773
1847
  "type": "metric",
1774
1848
  "properties": {
1775
1849
  "metrics": [
1776
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", "Resource", "${self:custom.funktor.JobActivatorName}", { "label": "p60" } ],
1777
- [ "...", { "label": "p70", "stat": "p70" } ],
1850
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", "Resource", "${self:custom.funktor.JobActivatorName}", { "label": "p20" } ],
1851
+ [ "...", { "label": "p50", "stat": "p50" } ],
1778
1852
  [ "...", { "label": "p80", "stat": "p80" } ],
1779
1853
  [ "...", { "label": "p90", "stat": "p90" } ]
1780
1854
  ],
1781
1855
  "view": "singleValue",
1782
1856
  "region": "us-east-1",
1783
- "stat": "p60",
1857
+ "stat": "p20",
1784
1858
  "period": 60,
1785
1859
  "sparkline": true,
1786
1860
  "title": "Handler Duration"
1787
1861
  }
1788
1862
  },
1863
+
1864
+
1865
+
1789
1866
 
1790
1867
 
1791
1868
 
1792
-
1793
1869
  {
1794
1870
  "height": 3,
1795
- "width": 6,
1796
- "y": 90,
1797
- "x": 18,
1871
+ "width": 4,
1872
+ "y": 93,
1873
+ "x": 0,
1798
1874
  "type": "metric",
1799
1875
  "properties": {
1800
1876
  "period": 60,
@@ -1804,7 +1880,7 @@ Resources:
1804
1880
  [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
1805
1881
  ],
1806
1882
  "region": "us-east-1",
1807
- "title": "Delayed Job SchedulerError count and success rate (%)",
1883
+ "title": "Job Activator Error count and success rate (%)",
1808
1884
  "yAxis": {
1809
1885
  "right": {
1810
1886
  "max": 100
@@ -1817,29 +1893,26 @@ Resources:
1817
1893
  },
1818
1894
  {
1819
1895
  "height": 3,
1820
- "width": 9,
1821
- "y": 90,
1822
- "x": 9,
1896
+ "width": 5,
1897
+ "y": 93,
1898
+ "x": 4,
1823
1899
  "type": "metric",
1824
1900
  "properties": {
1825
1901
  "period": 60,
1826
1902
  "metrics": [
1827
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "p60" } ],
1828
- [ "...", { "stat": "p70" } ],
1829
- [ "...", { "stat": "p80" } ],
1830
- [ "...", { "stat": "p90" } ]
1903
+ [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
1831
1904
  ],
1832
1905
  "region": "us-east-1",
1833
- "title": "Delayed Job Scheduler Duration",
1906
+ "title": "Job Activator Concurrent Executions",
1834
1907
  "view": "timeSeries",
1835
1908
  "stacked": false,
1836
1909
  "liveData": true
1837
1910
  }
1838
1911
  },
1839
1912
  {
1840
- "height": 3,
1913
+ "height": 4,
1841
1914
  "width": 9,
1842
- "y": 90,
1915
+ "y": 92,
1843
1916
  "x": 0,
1844
1917
  "type": "metric",
1845
1918
  "properties": {
@@ -1855,13 +1928,63 @@ Resources:
1855
1928
  "liveData": true
1856
1929
  }
1857
1930
  },
1931
+ {
1932
+ "x": 9,
1933
+ "y": 89,
1934
+ "width": 10,
1935
+ "height": 7,
1936
+ "type": "metric",
1937
+ "properties": {
1938
+ "period": 60,
1939
+ "metrics": [
1940
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "p20" } ],
1941
+ [ "...", { "stat": "p50" } ],
1942
+ [ "...", { "stat": "p80" } ],
1943
+ [ "...", { "stat": "p90" } ]
1944
+ ],
1945
+ "region": "us-east-1",
1946
+ "title": "Job Activator Duration in Milliseconds",
1947
+ "view": "timeSeries",
1948
+ "stacked": false,
1949
+ "liveData": true
1950
+ }
1951
+ },
1952
+ {
1953
+ "type": "log",
1954
+ "height": 4,
1955
+ "width": 5,
1956
+ "y": 89,
1957
+ "x": 19,
1958
+ "properties": {
1959
+ "query": "SOURCE '/aws/lambda/${self:custom.funktor.JobActivatorName}' | fields @initDuration\n| filter ispresent(@initDuration)\n| stats pct(@initDuration, 5) as p5,\n\n\n\n pct(@initDuration, 50) as p50,\n\n\n\n pct(@initDuration, 95) as p95,\n\n\n\n pct(@initDuration, 99) as p99\n\n\n\n by bin(20m)\n",
1960
+ "region": "us-east-1",
1961
+ "stacked": false,
1962
+ "view": "timeSeries",
1963
+ "title": "Job Activator Init Duration"
1964
+ }
1965
+ },
1966
+ {
1967
+ "height": 3,
1968
+ "width": 5,
1969
+ "y": 93,
1970
+ "x": 19,
1971
+ "type": "log",
1972
+ "properties": {
1973
+ "query": "SOURCE '/aws/lambda/${self:custom.funktor.JobActivatorName}' | filter @type=\"REPORT\"\n| stats max(@memorySize) as provisioned,\navg(@maxMemoryUsed) as avg_used,\nmax(@maxMemoryUsed) as max_used by bin(60s)",
1974
+ "region": "us-east-1",
1975
+ "stacked": false,
1976
+ "title": "Job Activator Memory",
1977
+ "view": "timeSeries"
1978
+ }
1979
+ },
1980
+
1981
+
1858
1982
 
1859
1983
 
1860
-
1861
1984
  {
1862
1985
  "height": 3,
1863
1986
  "width": 9,
1864
- "y": 93,
1987
+ "y": 96,
1865
1988
  "x": 0,
1866
1989
  "type": "metric",
1867
1990
  "properties": {
@@ -1880,29 +2003,11 @@ Resources:
1880
2003
  "liveData": true
1881
2004
  }
1882
2005
  },
1883
- {
1884
- "height": 3,
1885
- "width": 6,
1886
- "y": 93,
1887
- "x": 18,
1888
- "type": "metric",
1889
- "properties": {
1890
- "period": 60,
1891
- "metrics": [
1892
- [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
1893
- ],
1894
- "region": "us-east-1",
1895
- "title": "Delayd Job Schedule Concurrent executions",
1896
- "view": "timeSeries",
1897
- "stacked": false,
1898
- "liveData": true
1899
- }
1900
- },
1901
2006
  {
1902
2007
  "height": 3,
1903
2008
  "width": 9,
1904
- "y": 93,
1905
- "x": 9,
2009
+ "y": 99,
2010
+ "x": 0,
1906
2011
  "type": "metric",
1907
2012
  "properties": {
1908
2013
  "metrics": [
@@ -1921,14 +2026,11 @@ Resources:
1921
2026
  }
1922
2027
  },
1923
2028
 
1924
-
1925
-
1926
-
1927
2029
  {
1928
- "height": 3,
1929
- "width": 18,
2030
+ "height": 6,
2031
+ "width": 10,
1930
2032
  "y": 96,
1931
- "x": 0,
2033
+ "x": 9,
1932
2034
  "type": "metric",
1933
2035
  "properties": {
1934
2036
  "metrics": [
@@ -1937,6 +2039,7 @@ Resources:
1937
2039
  [ ".", "ThrottledRequests", ".", ".", ".", "PutItem", { "yAxis": "right", "visible": false } ],
1938
2040
  [ ".", "SuccessfulRequestLatency", ".", ".", ".", "DeleteItem" ],
1939
2041
  [ ".", "SuccessfulRequestLatency", ".", ".", ".", "UpdateItem" ],
2042
+ [ ".", "SuccessfulRequestLatency", ".", ".", ".", "GetItem" ],
1940
2043
  [ ".", "ThrottledRequests", ".", ".", ".", ".", { "yAxis": "right", "visible": false } ]
1941
2044
  ],
1942
2045
  "view": "timeSeries",
@@ -1948,16 +2051,19 @@ Resources:
1948
2051
  "liveData": true
1949
2052
  }
1950
2053
  },
2054
+
1951
2055
  {
1952
- "height": 3,
1953
- "width": 6,
2056
+ "height": 6,
2057
+ "width": 5,
1954
2058
  "y": 96,
1955
- "x": 18,
2059
+ "x": 19,
1956
2060
  "type": "metric",
1957
2061
  "properties": {
1958
2062
  "metrics": [
1959
2063
  [ "AWS/DynamoDB", "ThrottledRequests", "TableName", "${self:custom.funktor.JobsTableName}", "Operation", "DeleteItem" ],
1960
- [ "...", "PutItem" ]
2064
+ [ "...", "PutItem" ],
2065
+ [ "...", "UpdateItem" ],
2066
+ [ "...", "GetItem" ]
1961
2067
  ],
1962
2068
  "view": "timeSeries",
1963
2069
  "stacked": false,
@@ -1968,8 +2074,6 @@ Resources:
1968
2074
  "liveData": true
1969
2075
  }
1970
2076
  }
1971
-
1972
-
1973
2077
 
1974
2078
 
1975
2079
  ]