funktor 0.7.21 → 0.7.24

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.
@@ -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": 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,7 +1305,7 @@ 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": {
@@ -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": 3,
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,35 +1353,26 @@ Resources:
1365
1353
  }
1366
1354
  },
1367
1355
  {
1368
- "type": "log",
1369
- "x": 0,
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": 9,
1359
+ "x": 0,
1386
1360
  "type": "metric",
1387
1361
  "properties": {
1388
1362
  "period": 60,
1389
1363
  "metrics": [
1390
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p20" } ],
1391
- [ "...", { "stat": "p50" } ],
1392
- [ "...", { "stat": "p80" } ],
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" } ],
1367
+ [ "AWS/Lambda", "Throttles", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "id": "throttles", "color": "#ff7f0e" } ]
1394
1368
  ],
1395
1369
  "region": "us-east-1",
1396
- "title": "Incoming Job Handler Duration in Milliseconds",
1370
+ "title": "Incoming Job Handler Error count and success rate (%)",
1371
+ "yAxis": {
1372
+ "right": {
1373
+ "max": 100
1374
+ }
1375
+ },
1397
1376
  "view": "timeSeries",
1398
1377
  "stacked": false,
1399
1378
  "liveData": true
@@ -1401,68 +1380,90 @@ Resources:
1401
1380
  },
1402
1381
  {
1403
1382
  "height": 3,
1404
- "width": 6,
1383
+ "width": 5,
1405
1384
  "y": 63,
1406
- "x": 18,
1385
+ "x": 4,
1407
1386
  "type": "metric",
1408
1387
  "properties": {
1409
1388
  "period": 60,
1410
1389
  "metrics": [
1411
- [ "AWS/Lambda", "Errors", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "id": "errors", "stat": "Sum", "color": "#d13212" } ],
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" } ]
1390
+ [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "Maximum" } ]
1414
1391
  ],
1415
1392
  "region": "us-east-1",
1416
- "title": "Incoming Job Handler Error count and success rate (%)",
1417
- "yAxis": {
1418
- "right": {
1419
- "max": 100
1420
- }
1421
- },
1393
+ "title": "Incoming Job Handler Concurrent Executions",
1422
1394
  "view": "timeSeries",
1423
1395
  "stacked": false,
1424
1396
  "liveData": true
1425
1397
  }
1426
1398
  },
1427
-
1428
-
1399
+
1429
1400
  {
1430
- "height": 3,
1431
- "width": 6,
1432
- "y": 66,
1433
- "x": 18,
1401
+ "x": 9,
1402
+ "y": 59,
1403
+ "width": 10,
1404
+ "height": 7,
1434
1405
  "type": "metric",
1435
1406
  "properties": {
1436
1407
  "period": 60,
1437
1408
  "metrics": [
1438
- [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "Maximum" } ]
1409
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p20" } ],
1410
+ [ "...", { "stat": "p50" } ],
1411
+ [ "...", { "stat": "p80" } ],
1412
+ [ "...", { "stat": "p90" } ]
1439
1413
  ],
1440
1414
  "region": "us-east-1",
1441
- "title": "Incoming Job Handler Concurrent Executions",
1415
+ "title": "Incoming Job Handler Duration in Milliseconds",
1442
1416
  "view": "timeSeries",
1443
1417
  "stacked": false,
1444
1418
  "liveData": true
1445
1419
  }
1446
1420
  },
1421
+ {
1422
+ "type": "log",
1423
+ "height": 4,
1424
+ "width": 5,
1425
+ "y": 59,
1426
+ "x": 19,
1427
+ "properties": {
1428
+ "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(1m)\n",
1429
+ "region": "us-east-1",
1430
+ "stacked": false,
1431
+ "view": "timeSeries",
1432
+ "title": "Incoming Job Handler Init Duration"
1433
+ }
1434
+ },
1435
+ {
1436
+ "height": 3,
1437
+ "width": 5,
1438
+ "y": 63,
1439
+ "x": 19,
1440
+ "type": "log",
1441
+ "properties": {
1442
+ "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)",
1443
+ "region": "us-east-1",
1444
+ "stacked": false,
1445
+ "title": "IncomingJobHandler Memory",
1446
+ "view": "timeSeries"
1447
+ }
1448
+ },
1447
1449
 
1448
1450
 
1449
-
1450
1451
 
1451
1452
 
1452
1453
  {
1453
1454
  "height": 3,
1454
1455
  "width": 6,
1455
- "y": 69,
1456
+ "y": 66,
1456
1457
  "x": 0,
1457
1458
  "type": "text",
1458
1459
  "properties": {
1459
- "markdown": "\n# Default Queue\n"
1460
+ "markdown": "\n# Default Queue\n Async jobs land here immediately, scheduled jobs land here in the minute before they're scheduled."
1460
1461
  }
1461
1462
  },
1462
1463
  {
1463
1464
  "height": 3,
1464
1465
  "width": 3,
1465
- "y": 69,
1466
+ "y": 66,
1466
1467
  "x": 6,
1467
1468
  "type": "metric",
1468
1469
  "properties": {
@@ -1481,7 +1482,7 @@ Resources:
1481
1482
  {
1482
1483
  "height": 3,
1483
1484
  "width": 15,
1484
- "y": 69,
1485
+ "y": 66,
1485
1486
  "x": 9,
1486
1487
  "type": "metric",
1487
1488
  "properties": {
@@ -1501,10 +1502,12 @@ Resources:
1501
1502
  "title": "Handler Duration"
1502
1503
  }
1503
1504
  },
1505
+
1506
+
1504
1507
  {
1505
- "height": 3,
1508
+ "height": 4,
1506
1509
  "width": 9,
1507
- "y": 72,
1510
+ "y": 69,
1508
1511
  "x": 0,
1509
1512
  "type": "metric",
1510
1513
  "properties": {
@@ -1525,52 +1528,17 @@ Resources:
1525
1528
  "view": "timeSeries",
1526
1529
  "stacked": false,
1527
1530
  "region": "us-east-1",
1528
- "title": "Default Queue (Async jobs go here immediately, scheduled jobs land here in the minute before they're scheduled)",
1531
+ "title": "Default Queue Counts",
1529
1532
  "period": 60,
1530
1533
  "stat": "Sum",
1531
1534
  "liveData": true
1532
1535
  }
1533
1536
  },
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
1537
  {
1570
1538
  "height": 3,
1571
- "width": 6,
1572
- "y": 72,
1573
- "x": 18,
1539
+ "width": 4,
1540
+ "y": 73,
1541
+ "x": 0,
1574
1542
  "type": "metric",
1575
1543
  "properties": {
1576
1544
  "period": 60,
@@ -1578,7 +1546,8 @@ Resources:
1578
1546
  [ "AWS/Lambda", "Errors", "FunctionName",
1579
1547
  "${self:custom.funktor.DefaultQueueHandlerName}", { "id": "errors", "stat": "Sum", "color": "#d13212" } ],
1580
1548
  [ ".", "Invocations", ".", ".", { "id": "invocations", "stat": "Sum", "visible": false } ],
1581
- [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
1549
+ [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ],
1550
+ [ "AWS/Lambda", "Throttles", "FunctionName", "${self:custom.funktor.DefaultQueueHandlerName}", { "id": "throttles", "color": "#ff7f0e" } ]
1582
1551
  ],
1583
1552
  "region": "us-east-1",
1584
1553
  "title": "Default Queue Handler Error count and success rate (%)",
@@ -1594,9 +1563,9 @@ Resources:
1594
1563
  },
1595
1564
  {
1596
1565
  "height": 3,
1597
- "width": 6,
1598
- "y": 75,
1599
- "x": 18,
1566
+ "width": 5,
1567
+ "y": 73,
1568
+ "x": 4,
1600
1569
  "type": "metric",
1601
1570
  "properties": {
1602
1571
  "period": 60,
@@ -1612,21 +1581,70 @@ Resources:
1612
1581
  }
1613
1582
  },
1614
1583
 
1584
+ {
1585
+ "x": 9,
1586
+ "y": 69,
1587
+ "width": 10,
1588
+ "height": 7,
1589
+ "type": "metric",
1590
+ "properties": {
1591
+ "period": 60,
1592
+ "metrics": [
1593
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.DefaultQueueHandlerName}", { "stat": "p20" } ],
1594
+ [ "...", { "stat": "p50" } ],
1595
+ [ "...", { "stat": "p80" } ],
1596
+ [ "...", { "stat": "p90" } ]
1597
+ ],
1598
+ "region": "us-east-1",
1599
+ "title": "Default Queue Handler Duration in Milliseconds",
1600
+ "view": "timeSeries",
1601
+ "stacked": false,
1602
+ "liveData": true
1603
+ }
1604
+ },
1605
+ {
1606
+ "type": "log",
1607
+ "height": 4,
1608
+ "width": 5,
1609
+ "y": 69,
1610
+ "x": 19,
1611
+ "properties": {
1612
+ "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(1m)\n",
1613
+ "region": "us-east-1",
1614
+ "stacked": false,
1615
+ "view": "timeSeries",
1616
+ "title": "Default Handler Init Duration"
1617
+ }
1618
+ },
1619
+ {
1620
+ "height": 3,
1621
+ "width": 5,
1622
+ "y": 73,
1623
+ "x": 19,
1624
+ "type": "log",
1625
+ "properties": {
1626
+ "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)",
1627
+ "region": "us-east-1",
1628
+ "stacked": false,
1629
+ "title": "Default Handler Memory",
1630
+ "view": "timeSeries"
1631
+ }
1632
+ },
1615
1633
 
1616
1634
  {
1617
1635
  "height": 3,
1618
1636
  "width": 6,
1619
- "y": 78,
1637
+ "y": 76,
1620
1638
  "x": 0,
1621
1639
  "type": "text",
1622
1640
  "properties": {
1623
- "markdown": "\n# LowConcurrency Queue\n"
1641
+ "markdown": "\n# LowConcurrency Queue\n Async jobs land here immediately, scheduled jobs land here in the minute before they're scheduled."
1624
1642
  }
1625
1643
  },
1626
1644
  {
1627
1645
  "height": 3,
1628
1646
  "width": 3,
1629
- "y": 78,
1647
+ "y": 76,
1630
1648
  "x": 6,
1631
1649
  "type": "metric",
1632
1650
  "properties": {
@@ -1645,7 +1663,7 @@ Resources:
1645
1663
  {
1646
1664
  "height": 3,
1647
1665
  "width": 15,
1648
- "y": 78,
1666
+ "y": 76,
1649
1667
  "x": 9,
1650
1668
  "type": "metric",
1651
1669
  "properties": {
@@ -1665,10 +1683,12 @@ Resources:
1665
1683
  "title": "Handler Duration"
1666
1684
  }
1667
1685
  },
1686
+
1687
+
1668
1688
  {
1669
- "height": 3,
1689
+ "height": 4,
1670
1690
  "width": 9,
1671
- "y": 81,
1691
+ "y": 79,
1672
1692
  "x": 0,
1673
1693
  "type": "metric",
1674
1694
  "properties": {
@@ -1689,52 +1709,17 @@ Resources:
1689
1709
  "view": "timeSeries",
1690
1710
  "stacked": false,
1691
1711
  "region": "us-east-1",
1692
- "title": "LowConcurrency Queue (Async jobs go here immediately, scheduled jobs land here in the minute before they're scheduled)",
1712
+ "title": "LowConcurrency Queue Counts",
1693
1713
  "period": 60,
1694
1714
  "stat": "Sum",
1695
1715
  "liveData": true
1696
1716
  }
1697
1717
  },
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
1718
  {
1734
1719
  "height": 3,
1735
- "width": 6,
1736
- "y": 81,
1737
- "x": 18,
1720
+ "width": 4,
1721
+ "y": 83,
1722
+ "x": 0,
1738
1723
  "type": "metric",
1739
1724
  "properties": {
1740
1725
  "period": 60,
@@ -1742,7 +1727,8 @@ Resources:
1742
1727
  [ "AWS/Lambda", "Errors", "FunctionName",
1743
1728
  "${self:custom.funktor.LowConcurrencyQueueHandlerName}", { "id": "errors", "stat": "Sum", "color": "#d13212" } ],
1744
1729
  [ ".", "Invocations", ".", ".", { "id": "invocations", "stat": "Sum", "visible": false } ],
1745
- [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
1730
+ [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ],
1731
+ [ "AWS/Lambda", "Throttles", "FunctionName", "${self:custom.funktor.LowConcurrencyQueueHandlerName}", { "id": "throttles", "color": "#ff7f0e" } ]
1746
1732
  ],
1747
1733
  "region": "us-east-1",
1748
1734
  "title": "LowConcurrency Queue Handler Error count and success rate (%)",
@@ -1758,9 +1744,9 @@ Resources:
1758
1744
  },
1759
1745
  {
1760
1746
  "height": 3,
1761
- "width": 6,
1762
- "y": 84,
1763
- "x": 18,
1747
+ "width": 5,
1748
+ "y": 83,
1749
+ "x": 4,
1764
1750
  "type": "metric",
1765
1751
  "properties": {
1766
1752
  "period": 60,
@@ -1776,24 +1762,72 @@ Resources:
1776
1762
  }
1777
1763
  },
1778
1764
 
1765
+ {
1766
+ "x": 9,
1767
+ "y": 79,
1768
+ "width": 10,
1769
+ "height": 7,
1770
+ "type": "metric",
1771
+ "properties": {
1772
+ "period": 60,
1773
+ "metrics": [
1774
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.LowConcurrencyQueueHandlerName}", { "stat": "p20" } ],
1775
+ [ "...", { "stat": "p50" } ],
1776
+ [ "...", { "stat": "p80" } ],
1777
+ [ "...", { "stat": "p90" } ]
1778
+ ],
1779
+ "region": "us-east-1",
1780
+ "title": "LowConcurrency Queue Handler Duration in Milliseconds",
1781
+ "view": "timeSeries",
1782
+ "stacked": false,
1783
+ "liveData": true
1784
+ }
1785
+ },
1786
+ {
1787
+ "type": "log",
1788
+ "height": 4,
1789
+ "width": 5,
1790
+ "y": 79,
1791
+ "x": 19,
1792
+ "properties": {
1793
+ "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(1m)\n",
1794
+ "region": "us-east-1",
1795
+ "stacked": false,
1796
+ "view": "timeSeries",
1797
+ "title": "LowConcurrency Handler Init Duration"
1798
+ }
1799
+ },
1800
+ {
1801
+ "height": 3,
1802
+ "width": 5,
1803
+ "y": 83,
1804
+ "x": 19,
1805
+ "type": "log",
1806
+ "properties": {
1807
+ "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)",
1808
+ "region": "us-east-1",
1809
+ "stacked": false,
1810
+ "title": "LowConcurrency Handler Memory",
1811
+ "view": "timeSeries"
1812
+ }
1813
+ },
1779
1814
 
1780
1815
 
1781
-
1782
1816
 
1783
1817
  {
1784
1818
  "height": 3,
1785
1819
  "width": 6,
1786
- "y": 87,
1820
+ "y": 86,
1787
1821
  "x": 0,
1788
1822
  "type": "text",
1789
1823
  "properties": {
1790
- "markdown": "\n# Delayed Jobs\n"
1824
+ "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
1825
  }
1792
1826
  },
1793
1827
  {
1794
1828
  "height": 3,
1795
1829
  "width": 3,
1796
- "y": 87,
1830
+ "y": 86,
1797
1831
  "x": 6,
1798
1832
  "type": "metric",
1799
1833
  "properties": {
@@ -1811,7 +1845,7 @@ Resources:
1811
1845
  {
1812
1846
  "height": 3,
1813
1847
  "width": 15,
1814
- "y": 87,
1848
+ "y": 86,
1815
1849
  "x": 9,
1816
1850
  "type": "metric",
1817
1851
  "properties": {
@@ -1829,25 +1863,28 @@ Resources:
1829
1863
  "title": "Handler Duration"
1830
1864
  }
1831
1865
  },
1866
+
1867
+
1868
+
1832
1869
 
1833
1870
 
1834
1871
 
1835
-
1836
1872
  {
1837
1873
  "height": 3,
1838
- "width": 6,
1839
- "y": 90,
1840
- "x": 18,
1874
+ "width": 4,
1875
+ "y": 93,
1876
+ "x": 0,
1841
1877
  "type": "metric",
1842
1878
  "properties": {
1843
1879
  "period": 60,
1844
1880
  "metrics": [
1845
1881
  [ "AWS/Lambda", "Errors", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "id": "errors", "stat": "Sum", "color": "#d13212" } ],
1846
1882
  [ ".", "Invocations", ".", ".", { "id": "invocations", "stat": "Sum", "visible": false } ],
1847
- [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
1883
+ [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ],
1884
+ [ "AWS/Lambda", "Throttles", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "id": "throttles", "color": "#ff7f0e" } ]
1848
1885
  ],
1849
1886
  "region": "us-east-1",
1850
- "title": "Delayed Job SchedulerError count and success rate (%)",
1887
+ "title": "Job Activator Error count and success rate (%)",
1851
1888
  "yAxis": {
1852
1889
  "right": {
1853
1890
  "max": 100
@@ -1860,29 +1897,26 @@ Resources:
1860
1897
  },
1861
1898
  {
1862
1899
  "height": 3,
1863
- "width": 9,
1864
- "y": 90,
1865
- "x": 9,
1900
+ "width": 5,
1901
+ "y": 93,
1902
+ "x": 4,
1866
1903
  "type": "metric",
1867
1904
  "properties": {
1868
1905
  "period": 60,
1869
1906
  "metrics": [
1870
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "p20" } ],
1871
- [ "...", { "stat": "p50" } ],
1872
- [ "...", { "stat": "p80" } ],
1873
- [ "...", { "stat": "p90" } ]
1907
+ [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
1874
1908
  ],
1875
1909
  "region": "us-east-1",
1876
- "title": "Delayed Job Scheduler Duration",
1910
+ "title": "Job Activator Concurrent Executions",
1877
1911
  "view": "timeSeries",
1878
1912
  "stacked": false,
1879
1913
  "liveData": true
1880
1914
  }
1881
1915
  },
1882
1916
  {
1883
- "height": 3,
1917
+ "height": 4,
1884
1918
  "width": 9,
1885
- "y": 90,
1919
+ "y": 92,
1886
1920
  "x": 0,
1887
1921
  "type": "metric",
1888
1922
  "properties": {
@@ -1898,13 +1932,63 @@ Resources:
1898
1932
  "liveData": true
1899
1933
  }
1900
1934
  },
1935
+ {
1936
+ "x": 9,
1937
+ "y": 89,
1938
+ "width": 10,
1939
+ "height": 7,
1940
+ "type": "metric",
1941
+ "properties": {
1942
+ "period": 60,
1943
+ "metrics": [
1944
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "p20" } ],
1945
+ [ "...", { "stat": "p50" } ],
1946
+ [ "...", { "stat": "p80" } ],
1947
+ [ "...", { "stat": "p90" } ]
1948
+ ],
1949
+ "region": "us-east-1",
1950
+ "title": "Job Activator Duration in Milliseconds",
1951
+ "view": "timeSeries",
1952
+ "stacked": false,
1953
+ "liveData": true
1954
+ }
1955
+ },
1956
+ {
1957
+ "type": "log",
1958
+ "height": 4,
1959
+ "width": 5,
1960
+ "y": 89,
1961
+ "x": 19,
1962
+ "properties": {
1963
+ "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(1m)\n",
1964
+ "region": "us-east-1",
1965
+ "stacked": false,
1966
+ "view": "timeSeries",
1967
+ "title": "Job Activator Init Duration"
1968
+ }
1969
+ },
1970
+ {
1971
+ "height": 3,
1972
+ "width": 5,
1973
+ "y": 93,
1974
+ "x": 19,
1975
+ "type": "log",
1976
+ "properties": {
1977
+ "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)",
1978
+ "region": "us-east-1",
1979
+ "stacked": false,
1980
+ "title": "Job Activator Memory",
1981
+ "view": "timeSeries"
1982
+ }
1983
+ },
1984
+
1985
+
1901
1986
 
1902
1987
 
1903
-
1904
1988
  {
1905
1989
  "height": 3,
1906
1990
  "width": 9,
1907
- "y": 93,
1991
+ "y": 96,
1908
1992
  "x": 0,
1909
1993
  "type": "metric",
1910
1994
  "properties": {
@@ -1923,29 +2007,11 @@ Resources:
1923
2007
  "liveData": true
1924
2008
  }
1925
2009
  },
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
2010
  {
1945
2011
  "height": 3,
1946
2012
  "width": 9,
1947
- "y": 93,
1948
- "x": 9,
2013
+ "y": 99,
2014
+ "x": 0,
1949
2015
  "type": "metric",
1950
2016
  "properties": {
1951
2017
  "metrics": [
@@ -1964,26 +2030,9 @@ Resources:
1964
2030
  }
1965
2031
  },
1966
2032
 
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
2033
  {
1985
- "height": 3,
1986
- "width": 9,
2034
+ "height": 6,
2035
+ "width": 10,
1987
2036
  "y": 96,
1988
2037
  "x": 9,
1989
2038
  "type": "metric",
@@ -1994,6 +2043,7 @@ Resources:
1994
2043
  [ ".", "ThrottledRequests", ".", ".", ".", "PutItem", { "yAxis": "right", "visible": false } ],
1995
2044
  [ ".", "SuccessfulRequestLatency", ".", ".", ".", "DeleteItem" ],
1996
2045
  [ ".", "SuccessfulRequestLatency", ".", ".", ".", "UpdateItem" ],
2046
+ [ ".", "SuccessfulRequestLatency", ".", ".", ".", "GetItem" ],
1997
2047
  [ ".", "ThrottledRequests", ".", ".", ".", ".", { "yAxis": "right", "visible": false } ]
1998
2048
  ],
1999
2049
  "view": "timeSeries",
@@ -2005,16 +2055,19 @@ Resources:
2005
2055
  "liveData": true
2006
2056
  }
2007
2057
  },
2058
+
2008
2059
  {
2009
- "height": 3,
2010
- "width": 6,
2060
+ "height": 6,
2061
+ "width": 5,
2011
2062
  "y": 96,
2012
- "x": 18,
2063
+ "x": 19,
2013
2064
  "type": "metric",
2014
2065
  "properties": {
2015
2066
  "metrics": [
2016
2067
  [ "AWS/DynamoDB", "ThrottledRequests", "TableName", "${self:custom.funktor.JobsTableName}", "Operation", "DeleteItem" ],
2017
- [ "...", "PutItem" ]
2068
+ [ "...", "PutItem" ],
2069
+ [ "...", "UpdateItem" ],
2070
+ [ "...", "GetItem" ]
2018
2071
  ],
2019
2072
  "view": "timeSeries",
2020
2073
  "stacked": false,
@@ -2025,8 +2078,6 @@ Resources:
2025
2078
  "liveData": true
2026
2079
  }
2027
2080
  }
2028
-
2029
-
2030
2081
 
2031
2082
 
2032
2083
  ]