funktor 0.7.21 → 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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/funktor-testapp/app/workers/audit_worker.rb +0 -3
- data/funktor-testapp/funktor_config/funktor.yml +4 -4
- data/funktor-testapp/funktor_config/resources/cloudwatch_dashboard.yml +274 -227
- data/lib/funktor/cli/templates/funktor_config/resources/cloudwatch_dashboard.yml +210 -170
- data/lib/funktor/version.rb +1 -1
- metadata +1 -1
|
@@ -350,9 +350,6 @@ Resources:
|
|
|
350
350
|
},
|
|
351
351
|
|
|
352
352
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
353
|
{
|
|
357
354
|
"height": 3,
|
|
358
355
|
"width": 3,
|
|
@@ -620,9 +617,6 @@ Resources:
|
|
|
620
617
|
},
|
|
621
618
|
|
|
622
619
|
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
620
|
{
|
|
627
621
|
"height": 3,
|
|
628
622
|
"width": 3,
|
|
@@ -890,9 +884,6 @@ Resources:
|
|
|
890
884
|
},
|
|
891
885
|
|
|
892
886
|
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
887
|
{
|
|
897
888
|
"height": 3,
|
|
898
889
|
"width": 3,
|
|
@@ -1160,9 +1151,6 @@ Resources:
|
|
|
1160
1151
|
},
|
|
1161
1152
|
|
|
1162
1153
|
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
1154
|
{
|
|
1167
1155
|
"height": 3,
|
|
1168
1156
|
"width": 3,
|
|
@@ -1274,7 +1262,7 @@ Resources:
|
|
|
1274
1262
|
|
|
1275
1263
|
|
|
1276
1264
|
{
|
|
1277
|
-
"height":
|
|
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":
|
|
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":
|
|
1290
|
+
"y": 56,
|
|
1303
1291
|
"x": 6,
|
|
1304
1292
|
"type": "metric",
|
|
1305
1293
|
"properties": {
|
|
@@ -1317,7 +1305,7 @@ Resources:
|
|
|
1317
1305
|
{
|
|
1318
1306
|
"height": 3,
|
|
1319
1307
|
"width": 15,
|
|
1320
|
-
"y":
|
|
1308
|
+
"y": 56,
|
|
1321
1309
|
"x": 9,
|
|
1322
1310
|
"type": "metric",
|
|
1323
1311
|
"properties": {
|
|
@@ -1335,13 +1323,13 @@ Resources:
|
|
|
1335
1323
|
"title": "Handler Duration Percentiles"
|
|
1336
1324
|
}
|
|
1337
1325
|
},
|
|
1326
|
+
|
|
1338
1327
|
|
|
1339
1328
|
|
|
1340
|
-
|
|
1341
1329
|
{
|
|
1342
|
-
"height":
|
|
1330
|
+
"height": 4,
|
|
1343
1331
|
"width": 9,
|
|
1344
|
-
"y":
|
|
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
|
|
1348
|
+
"title": "Incoming Job Queue Counts",
|
|
1361
1349
|
"period": 60,
|
|
1362
1350
|
"stat": "Sum",
|
|
1363
1351
|
"setPeriodToTimeRange": true,
|
|
@@ -1365,35 +1353,25 @@ Resources:
|
|
|
1365
1353
|
}
|
|
1366
1354
|
},
|
|
1367
1355
|
{
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
"y": 66,
|
|
1371
|
-
"width": 9,
|
|
1372
|
-
"height": 3,
|
|
1373
|
-
"properties": {
|
|
1374
|
-
"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(1h)\n",
|
|
1375
|
-
"region": "us-east-1",
|
|
1376
|
-
"stacked": false,
|
|
1377
|
-
"view": "timeSeries",
|
|
1378
|
-
"title": "Incoming Job Handler Init Duration"
|
|
1379
|
-
}
|
|
1380
|
-
},
|
|
1381
|
-
{
|
|
1382
|
-
"height": 6,
|
|
1383
|
-
"width": 9,
|
|
1356
|
+
"height": 3,
|
|
1357
|
+
"width": 4,
|
|
1384
1358
|
"y": 63,
|
|
1385
|
-
"x":
|
|
1359
|
+
"x": 0,
|
|
1386
1360
|
"type": "metric",
|
|
1387
1361
|
"properties": {
|
|
1388
1362
|
"period": 60,
|
|
1389
1363
|
"metrics": [
|
|
1390
|
-
[ "AWS/Lambda", "
|
|
1391
|
-
[ "
|
|
1392
|
-
[ "
|
|
1393
|
-
[ "...", { "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" } ]
|
|
1394
1367
|
],
|
|
1395
1368
|
"region": "us-east-1",
|
|
1396
|
-
"title": "Incoming Job Handler
|
|
1369
|
+
"title": "Incoming Job Handler Error count and success rate (%)",
|
|
1370
|
+
"yAxis": {
|
|
1371
|
+
"right": {
|
|
1372
|
+
"max": 100
|
|
1373
|
+
}
|
|
1374
|
+
},
|
|
1397
1375
|
"view": "timeSeries",
|
|
1398
1376
|
"stacked": false,
|
|
1399
1377
|
"liveData": true
|
|
@@ -1401,68 +1379,90 @@ Resources:
|
|
|
1401
1379
|
},
|
|
1402
1380
|
{
|
|
1403
1381
|
"height": 3,
|
|
1404
|
-
"width":
|
|
1382
|
+
"width": 5,
|
|
1405
1383
|
"y": 63,
|
|
1406
|
-
"x":
|
|
1384
|
+
"x": 4,
|
|
1407
1385
|
"type": "metric",
|
|
1408
1386
|
"properties": {
|
|
1409
1387
|
"period": 60,
|
|
1410
1388
|
"metrics": [
|
|
1411
|
-
[ "AWS/Lambda", "
|
|
1412
|
-
[ ".", "Invocations", ".", ".", { "id": "invocations", "stat": "Sum", "visible": false } ],
|
|
1413
|
-
[ { "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" } ]
|
|
1414
1390
|
],
|
|
1415
1391
|
"region": "us-east-1",
|
|
1416
|
-
"title": "Incoming Job Handler
|
|
1417
|
-
"yAxis": {
|
|
1418
|
-
"right": {
|
|
1419
|
-
"max": 100
|
|
1420
|
-
}
|
|
1421
|
-
},
|
|
1392
|
+
"title": "Incoming Job Handler Concurrent Executions",
|
|
1422
1393
|
"view": "timeSeries",
|
|
1423
1394
|
"stacked": false,
|
|
1424
1395
|
"liveData": true
|
|
1425
1396
|
}
|
|
1426
1397
|
},
|
|
1427
|
-
|
|
1428
|
-
|
|
1398
|
+
|
|
1429
1399
|
{
|
|
1430
|
-
"
|
|
1431
|
-
"
|
|
1432
|
-
"
|
|
1433
|
-
"
|
|
1400
|
+
"x": 9,
|
|
1401
|
+
"y": 59,
|
|
1402
|
+
"width": 10,
|
|
1403
|
+
"height": 7,
|
|
1434
1404
|
"type": "metric",
|
|
1435
1405
|
"properties": {
|
|
1436
1406
|
"period": 60,
|
|
1437
1407
|
"metrics": [
|
|
1438
|
-
[ "AWS/Lambda", "
|
|
1408
|
+
[ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p20" } ],
|
|
1409
|
+
[ "...", { "stat": "p50" } ],
|
|
1410
|
+
[ "...", { "stat": "p80" } ],
|
|
1411
|
+
[ "...", { "stat": "p90" } ]
|
|
1439
1412
|
],
|
|
1440
1413
|
"region": "us-east-1",
|
|
1441
|
-
"title": "Incoming Job Handler
|
|
1414
|
+
"title": "Incoming Job Handler Duration in Milliseconds",
|
|
1442
1415
|
"view": "timeSeries",
|
|
1443
1416
|
"stacked": false,
|
|
1444
1417
|
"liveData": true
|
|
1445
1418
|
}
|
|
1446
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
|
+
},
|
|
1447
1448
|
|
|
1448
1449
|
|
|
1449
|
-
|
|
1450
1450
|
|
|
1451
1451
|
|
|
1452
1452
|
{
|
|
1453
1453
|
"height": 3,
|
|
1454
1454
|
"width": 6,
|
|
1455
|
-
"y":
|
|
1455
|
+
"y": 66,
|
|
1456
1456
|
"x": 0,
|
|
1457
1457
|
"type": "text",
|
|
1458
1458
|
"properties": {
|
|
1459
|
-
"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."
|
|
1460
1460
|
}
|
|
1461
1461
|
},
|
|
1462
1462
|
{
|
|
1463
1463
|
"height": 3,
|
|
1464
1464
|
"width": 3,
|
|
1465
|
-
"y":
|
|
1465
|
+
"y": 66,
|
|
1466
1466
|
"x": 6,
|
|
1467
1467
|
"type": "metric",
|
|
1468
1468
|
"properties": {
|
|
@@ -1481,7 +1481,7 @@ Resources:
|
|
|
1481
1481
|
{
|
|
1482
1482
|
"height": 3,
|
|
1483
1483
|
"width": 15,
|
|
1484
|
-
"y":
|
|
1484
|
+
"y": 66,
|
|
1485
1485
|
"x": 9,
|
|
1486
1486
|
"type": "metric",
|
|
1487
1487
|
"properties": {
|
|
@@ -1501,10 +1501,12 @@ Resources:
|
|
|
1501
1501
|
"title": "Handler Duration"
|
|
1502
1502
|
}
|
|
1503
1503
|
},
|
|
1504
|
+
|
|
1505
|
+
|
|
1504
1506
|
{
|
|
1505
|
-
"height":
|
|
1507
|
+
"height": 4,
|
|
1506
1508
|
"width": 9,
|
|
1507
|
-
"y":
|
|
1509
|
+
"y": 69,
|
|
1508
1510
|
"x": 0,
|
|
1509
1511
|
"type": "metric",
|
|
1510
1512
|
"properties": {
|
|
@@ -1525,52 +1527,17 @@ Resources:
|
|
|
1525
1527
|
"view": "timeSeries",
|
|
1526
1528
|
"stacked": false,
|
|
1527
1529
|
"region": "us-east-1",
|
|
1528
|
-
"title": "Default Queue
|
|
1530
|
+
"title": "Default Queue Counts",
|
|
1529
1531
|
"period": 60,
|
|
1530
1532
|
"stat": "Sum",
|
|
1531
1533
|
"liveData": true
|
|
1532
1534
|
}
|
|
1533
1535
|
},
|
|
1534
|
-
{
|
|
1535
|
-
"type": "log",
|
|
1536
|
-
"x": 0,
|
|
1537
|
-
"y": 72,
|
|
1538
|
-
"width": 9,
|
|
1539
|
-
"height": 3,
|
|
1540
|
-
"properties": {
|
|
1541
|
-
"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(1h)\n",
|
|
1542
|
-
"region": "us-east-1",
|
|
1543
|
-
"stacked": false,
|
|
1544
|
-
"view": "timeSeries",
|
|
1545
|
-
"title": "Handler Init Duration"
|
|
1546
|
-
}
|
|
1547
|
-
},
|
|
1548
|
-
{
|
|
1549
|
-
"height": 6,
|
|
1550
|
-
"width": 9,
|
|
1551
|
-
"y": 72,
|
|
1552
|
-
"x": 9,
|
|
1553
|
-
"type": "metric",
|
|
1554
|
-
"properties": {
|
|
1555
|
-
"period": 60,
|
|
1556
|
-
"metrics": [
|
|
1557
|
-
[ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.DefaultQueueHandlerName}", { "stat": "p20" } ],
|
|
1558
|
-
[ "...", { "stat": "p50" } ],
|
|
1559
|
-
[ "...", { "stat": "p80" } ],
|
|
1560
|
-
[ "...", { "stat": "p90" } ]
|
|
1561
|
-
],
|
|
1562
|
-
"region": "us-east-1",
|
|
1563
|
-
"title": "Default Queue Handler Duration in Milliseconds",
|
|
1564
|
-
"view": "timeSeries",
|
|
1565
|
-
"stacked": false,
|
|
1566
|
-
"liveData": true
|
|
1567
|
-
}
|
|
1568
|
-
},
|
|
1569
1536
|
{
|
|
1570
1537
|
"height": 3,
|
|
1571
|
-
"width":
|
|
1572
|
-
"y":
|
|
1573
|
-
"x":
|
|
1538
|
+
"width": 4,
|
|
1539
|
+
"y": 73,
|
|
1540
|
+
"x": 0,
|
|
1574
1541
|
"type": "metric",
|
|
1575
1542
|
"properties": {
|
|
1576
1543
|
"period": 60,
|
|
@@ -1594,9 +1561,9 @@ Resources:
|
|
|
1594
1561
|
},
|
|
1595
1562
|
{
|
|
1596
1563
|
"height": 3,
|
|
1597
|
-
"width":
|
|
1598
|
-
"y":
|
|
1599
|
-
"x":
|
|
1564
|
+
"width": 5,
|
|
1565
|
+
"y": 73,
|
|
1566
|
+
"x": 4,
|
|
1600
1567
|
"type": "metric",
|
|
1601
1568
|
"properties": {
|
|
1602
1569
|
"period": 60,
|
|
@@ -1612,21 +1579,70 @@ Resources:
|
|
|
1612
1579
|
}
|
|
1613
1580
|
},
|
|
1614
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
|
+
},
|
|
1615
1631
|
|
|
1616
1632
|
{
|
|
1617
1633
|
"height": 3,
|
|
1618
1634
|
"width": 6,
|
|
1619
|
-
"y":
|
|
1635
|
+
"y": 76,
|
|
1620
1636
|
"x": 0,
|
|
1621
1637
|
"type": "text",
|
|
1622
1638
|
"properties": {
|
|
1623
|
-
"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."
|
|
1624
1640
|
}
|
|
1625
1641
|
},
|
|
1626
1642
|
{
|
|
1627
1643
|
"height": 3,
|
|
1628
1644
|
"width": 3,
|
|
1629
|
-
"y":
|
|
1645
|
+
"y": 76,
|
|
1630
1646
|
"x": 6,
|
|
1631
1647
|
"type": "metric",
|
|
1632
1648
|
"properties": {
|
|
@@ -1645,7 +1661,7 @@ Resources:
|
|
|
1645
1661
|
{
|
|
1646
1662
|
"height": 3,
|
|
1647
1663
|
"width": 15,
|
|
1648
|
-
"y":
|
|
1664
|
+
"y": 76,
|
|
1649
1665
|
"x": 9,
|
|
1650
1666
|
"type": "metric",
|
|
1651
1667
|
"properties": {
|
|
@@ -1665,10 +1681,12 @@ Resources:
|
|
|
1665
1681
|
"title": "Handler Duration"
|
|
1666
1682
|
}
|
|
1667
1683
|
},
|
|
1684
|
+
|
|
1685
|
+
|
|
1668
1686
|
{
|
|
1669
|
-
"height":
|
|
1687
|
+
"height": 4,
|
|
1670
1688
|
"width": 9,
|
|
1671
|
-
"y":
|
|
1689
|
+
"y": 79,
|
|
1672
1690
|
"x": 0,
|
|
1673
1691
|
"type": "metric",
|
|
1674
1692
|
"properties": {
|
|
@@ -1689,52 +1707,17 @@ Resources:
|
|
|
1689
1707
|
"view": "timeSeries",
|
|
1690
1708
|
"stacked": false,
|
|
1691
1709
|
"region": "us-east-1",
|
|
1692
|
-
"title": "LowConcurrency Queue
|
|
1710
|
+
"title": "LowConcurrency Queue Counts",
|
|
1693
1711
|
"period": 60,
|
|
1694
1712
|
"stat": "Sum",
|
|
1695
1713
|
"liveData": true
|
|
1696
1714
|
}
|
|
1697
1715
|
},
|
|
1698
|
-
{
|
|
1699
|
-
"type": "log",
|
|
1700
|
-
"x": 0,
|
|
1701
|
-
"y": 81,
|
|
1702
|
-
"width": 9,
|
|
1703
|
-
"height": 3,
|
|
1704
|
-
"properties": {
|
|
1705
|
-
"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(1h)\n",
|
|
1706
|
-
"region": "us-east-1",
|
|
1707
|
-
"stacked": false,
|
|
1708
|
-
"view": "timeSeries",
|
|
1709
|
-
"title": "Handler Init Duration"
|
|
1710
|
-
}
|
|
1711
|
-
},
|
|
1712
|
-
{
|
|
1713
|
-
"height": 6,
|
|
1714
|
-
"width": 9,
|
|
1715
|
-
"y": 81,
|
|
1716
|
-
"x": 9,
|
|
1717
|
-
"type": "metric",
|
|
1718
|
-
"properties": {
|
|
1719
|
-
"period": 60,
|
|
1720
|
-
"metrics": [
|
|
1721
|
-
[ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.LowConcurrencyQueueHandlerName}", { "stat": "p20" } ],
|
|
1722
|
-
[ "...", { "stat": "p50" } ],
|
|
1723
|
-
[ "...", { "stat": "p80" } ],
|
|
1724
|
-
[ "...", { "stat": "p90" } ]
|
|
1725
|
-
],
|
|
1726
|
-
"region": "us-east-1",
|
|
1727
|
-
"title": "LowConcurrency Queue Handler Duration in Milliseconds",
|
|
1728
|
-
"view": "timeSeries",
|
|
1729
|
-
"stacked": false,
|
|
1730
|
-
"liveData": true
|
|
1731
|
-
}
|
|
1732
|
-
},
|
|
1733
1716
|
{
|
|
1734
1717
|
"height": 3,
|
|
1735
|
-
"width":
|
|
1736
|
-
"y":
|
|
1737
|
-
"x":
|
|
1718
|
+
"width": 4,
|
|
1719
|
+
"y": 83,
|
|
1720
|
+
"x": 0,
|
|
1738
1721
|
"type": "metric",
|
|
1739
1722
|
"properties": {
|
|
1740
1723
|
"period": 60,
|
|
@@ -1758,9 +1741,9 @@ Resources:
|
|
|
1758
1741
|
},
|
|
1759
1742
|
{
|
|
1760
1743
|
"height": 3,
|
|
1761
|
-
"width":
|
|
1762
|
-
"y":
|
|
1763
|
-
"x":
|
|
1744
|
+
"width": 5,
|
|
1745
|
+
"y": 83,
|
|
1746
|
+
"x": 4,
|
|
1764
1747
|
"type": "metric",
|
|
1765
1748
|
"properties": {
|
|
1766
1749
|
"period": 60,
|
|
@@ -1776,24 +1759,72 @@ Resources:
|
|
|
1776
1759
|
}
|
|
1777
1760
|
},
|
|
1778
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
|
+
},
|
|
1779
1811
|
|
|
1780
1812
|
|
|
1781
|
-
|
|
1782
1813
|
|
|
1783
1814
|
{
|
|
1784
1815
|
"height": 3,
|
|
1785
1816
|
"width": 6,
|
|
1786
|
-
"y":
|
|
1817
|
+
"y": 86,
|
|
1787
1818
|
"x": 0,
|
|
1788
1819
|
"type": "text",
|
|
1789
1820
|
"properties": {
|
|
1790
|
-
"markdown": "\n# Delayed
|
|
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."
|
|
1791
1822
|
}
|
|
1792
1823
|
},
|
|
1793
1824
|
{
|
|
1794
1825
|
"height": 3,
|
|
1795
1826
|
"width": 3,
|
|
1796
|
-
"y":
|
|
1827
|
+
"y": 86,
|
|
1797
1828
|
"x": 6,
|
|
1798
1829
|
"type": "metric",
|
|
1799
1830
|
"properties": {
|
|
@@ -1811,7 +1842,7 @@ Resources:
|
|
|
1811
1842
|
{
|
|
1812
1843
|
"height": 3,
|
|
1813
1844
|
"width": 15,
|
|
1814
|
-
"y":
|
|
1845
|
+
"y": 86,
|
|
1815
1846
|
"x": 9,
|
|
1816
1847
|
"type": "metric",
|
|
1817
1848
|
"properties": {
|
|
@@ -1829,15 +1860,17 @@ Resources:
|
|
|
1829
1860
|
"title": "Handler Duration"
|
|
1830
1861
|
}
|
|
1831
1862
|
},
|
|
1863
|
+
|
|
1864
|
+
|
|
1865
|
+
|
|
1832
1866
|
|
|
1833
1867
|
|
|
1834
1868
|
|
|
1835
|
-
|
|
1836
1869
|
{
|
|
1837
1870
|
"height": 3,
|
|
1838
|
-
"width":
|
|
1839
|
-
"y":
|
|
1840
|
-
"x":
|
|
1871
|
+
"width": 4,
|
|
1872
|
+
"y": 93,
|
|
1873
|
+
"x": 0,
|
|
1841
1874
|
"type": "metric",
|
|
1842
1875
|
"properties": {
|
|
1843
1876
|
"period": 60,
|
|
@@ -1847,7 +1880,7 @@ Resources:
|
|
|
1847
1880
|
[ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
|
|
1848
1881
|
],
|
|
1849
1882
|
"region": "us-east-1",
|
|
1850
|
-
"title": "
|
|
1883
|
+
"title": "Job Activator Error count and success rate (%)",
|
|
1851
1884
|
"yAxis": {
|
|
1852
1885
|
"right": {
|
|
1853
1886
|
"max": 100
|
|
@@ -1860,29 +1893,26 @@ Resources:
|
|
|
1860
1893
|
},
|
|
1861
1894
|
{
|
|
1862
1895
|
"height": 3,
|
|
1863
|
-
"width":
|
|
1864
|
-
"y":
|
|
1865
|
-
"x":
|
|
1896
|
+
"width": 5,
|
|
1897
|
+
"y": 93,
|
|
1898
|
+
"x": 4,
|
|
1866
1899
|
"type": "metric",
|
|
1867
1900
|
"properties": {
|
|
1868
1901
|
"period": 60,
|
|
1869
1902
|
"metrics": [
|
|
1870
|
-
[ "AWS/Lambda", "
|
|
1871
|
-
[ "...", { "stat": "p50" } ],
|
|
1872
|
-
[ "...", { "stat": "p80" } ],
|
|
1873
|
-
[ "...", { "stat": "p90" } ]
|
|
1903
|
+
[ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
|
|
1874
1904
|
],
|
|
1875
1905
|
"region": "us-east-1",
|
|
1876
|
-
"title": "
|
|
1906
|
+
"title": "Job Activator Concurrent Executions",
|
|
1877
1907
|
"view": "timeSeries",
|
|
1878
1908
|
"stacked": false,
|
|
1879
1909
|
"liveData": true
|
|
1880
1910
|
}
|
|
1881
1911
|
},
|
|
1882
1912
|
{
|
|
1883
|
-
"height":
|
|
1913
|
+
"height": 4,
|
|
1884
1914
|
"width": 9,
|
|
1885
|
-
"y":
|
|
1915
|
+
"y": 92,
|
|
1886
1916
|
"x": 0,
|
|
1887
1917
|
"type": "metric",
|
|
1888
1918
|
"properties": {
|
|
@@ -1898,13 +1928,63 @@ Resources:
|
|
|
1898
1928
|
"liveData": true
|
|
1899
1929
|
}
|
|
1900
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
|
+
|
|
1901
1982
|
|
|
1902
1983
|
|
|
1903
|
-
|
|
1904
1984
|
{
|
|
1905
1985
|
"height": 3,
|
|
1906
1986
|
"width": 9,
|
|
1907
|
-
"y":
|
|
1987
|
+
"y": 96,
|
|
1908
1988
|
"x": 0,
|
|
1909
1989
|
"type": "metric",
|
|
1910
1990
|
"properties": {
|
|
@@ -1923,29 +2003,11 @@ Resources:
|
|
|
1923
2003
|
"liveData": true
|
|
1924
2004
|
}
|
|
1925
2005
|
},
|
|
1926
|
-
{
|
|
1927
|
-
"height": 3,
|
|
1928
|
-
"width": 6,
|
|
1929
|
-
"y": 93,
|
|
1930
|
-
"x": 18,
|
|
1931
|
-
"type": "metric",
|
|
1932
|
-
"properties": {
|
|
1933
|
-
"period": 60,
|
|
1934
|
-
"metrics": [
|
|
1935
|
-
[ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
|
|
1936
|
-
],
|
|
1937
|
-
"region": "us-east-1",
|
|
1938
|
-
"title": "Delayd Job Schedule Concurrent executions",
|
|
1939
|
-
"view": "timeSeries",
|
|
1940
|
-
"stacked": false,
|
|
1941
|
-
"liveData": true
|
|
1942
|
-
}
|
|
1943
|
-
},
|
|
1944
2006
|
{
|
|
1945
2007
|
"height": 3,
|
|
1946
2008
|
"width": 9,
|
|
1947
|
-
"y":
|
|
1948
|
-
"x":
|
|
2009
|
+
"y": 99,
|
|
2010
|
+
"x": 0,
|
|
1949
2011
|
"type": "metric",
|
|
1950
2012
|
"properties": {
|
|
1951
2013
|
"metrics": [
|
|
@@ -1964,26 +2026,9 @@ Resources:
|
|
|
1964
2026
|
}
|
|
1965
2027
|
},
|
|
1966
2028
|
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
{
|
|
1971
|
-
"type": "log",
|
|
1972
|
-
"x": 0,
|
|
1973
|
-
"y": 96,
|
|
1974
|
-
"width": 9,
|
|
1975
|
-
"height": 3,
|
|
1976
|
-
"properties": {
|
|
1977
|
-
"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(1h)\n",
|
|
1978
|
-
"region": "us-east-1",
|
|
1979
|
-
"stacked": false,
|
|
1980
|
-
"view": "timeSeries",
|
|
1981
|
-
"title": "Handler Init Duration"
|
|
1982
|
-
}
|
|
1983
|
-
},
|
|
1984
2029
|
{
|
|
1985
|
-
"height":
|
|
1986
|
-
"width":
|
|
2030
|
+
"height": 6,
|
|
2031
|
+
"width": 10,
|
|
1987
2032
|
"y": 96,
|
|
1988
2033
|
"x": 9,
|
|
1989
2034
|
"type": "metric",
|
|
@@ -1994,6 +2039,7 @@ Resources:
|
|
|
1994
2039
|
[ ".", "ThrottledRequests", ".", ".", ".", "PutItem", { "yAxis": "right", "visible": false } ],
|
|
1995
2040
|
[ ".", "SuccessfulRequestLatency", ".", ".", ".", "DeleteItem" ],
|
|
1996
2041
|
[ ".", "SuccessfulRequestLatency", ".", ".", ".", "UpdateItem" ],
|
|
2042
|
+
[ ".", "SuccessfulRequestLatency", ".", ".", ".", "GetItem" ],
|
|
1997
2043
|
[ ".", "ThrottledRequests", ".", ".", ".", ".", { "yAxis": "right", "visible": false } ]
|
|
1998
2044
|
],
|
|
1999
2045
|
"view": "timeSeries",
|
|
@@ -2005,16 +2051,19 @@ Resources:
|
|
|
2005
2051
|
"liveData": true
|
|
2006
2052
|
}
|
|
2007
2053
|
},
|
|
2054
|
+
|
|
2008
2055
|
{
|
|
2009
|
-
"height":
|
|
2010
|
-
"width":
|
|
2056
|
+
"height": 6,
|
|
2057
|
+
"width": 5,
|
|
2011
2058
|
"y": 96,
|
|
2012
|
-
"x":
|
|
2059
|
+
"x": 19,
|
|
2013
2060
|
"type": "metric",
|
|
2014
2061
|
"properties": {
|
|
2015
2062
|
"metrics": [
|
|
2016
2063
|
[ "AWS/DynamoDB", "ThrottledRequests", "TableName", "${self:custom.funktor.JobsTableName}", "Operation", "DeleteItem" ],
|
|
2017
|
-
[ "...", "PutItem" ]
|
|
2064
|
+
[ "...", "PutItem" ],
|
|
2065
|
+
[ "...", "UpdateItem" ],
|
|
2066
|
+
[ "...", "GetItem" ]
|
|
2018
2067
|
],
|
|
2019
2068
|
"view": "timeSeries",
|
|
2020
2069
|
"stacked": false,
|
|
@@ -2025,8 +2074,6 @@ Resources:
|
|
|
2025
2074
|
"liveData": true
|
|
2026
2075
|
}
|
|
2027
2076
|
}
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
2077
|
|
|
2031
2078
|
|
|
2032
2079
|
]
|