funktor 0.7.21 → 0.7.24

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  ]