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
|
@@ -21,7 +21,7 @@ Resources:
|
|
|
21
21
|
},
|
|
22
22
|
<% current_y += 3 %>
|
|
23
23
|
|
|
24
|
-
{ <% "
|
|
24
|
+
{ <% "Worker Overview" %>
|
|
25
25
|
"height": 1,
|
|
26
26
|
"width": 24,
|
|
27
27
|
"y": <%= current_y %>,
|
|
@@ -236,9 +236,6 @@ Resources:
|
|
|
236
236
|
},
|
|
237
237
|
<% current_y += 3 %>
|
|
238
238
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
239
|
{ <% "Processed Jobs By Worker" %>
|
|
243
240
|
"height": 3,
|
|
244
241
|
"width": 3,
|
|
@@ -351,7 +348,7 @@ Resources:
|
|
|
351
348
|
<%- end -%>
|
|
352
349
|
|
|
353
350
|
{ <% "Funktor Behind the Scenes Banner" %>
|
|
354
|
-
"height":
|
|
351
|
+
"height": 2,
|
|
355
352
|
"width": 24,
|
|
356
353
|
"y": <%= current_y %>,
|
|
357
354
|
"x": 0,
|
|
@@ -360,9 +357,9 @@ Resources:
|
|
|
360
357
|
"markdown": "\n# Behind the scenes\n\n The stats below give some insight into the inner workings of the Funktor apparatus."
|
|
361
358
|
}
|
|
362
359
|
},
|
|
360
|
+
<% current_y += 2 %>
|
|
363
361
|
|
|
364
362
|
|
|
365
|
-
<% current_y += 6 %>
|
|
366
363
|
{ <% "Incoming Jobs" %>
|
|
367
364
|
"height": 3,
|
|
368
365
|
"width": 6,
|
|
@@ -370,7 +367,7 @@ Resources:
|
|
|
370
367
|
"x": 0,
|
|
371
368
|
"type": "text",
|
|
372
369
|
"properties": {
|
|
373
|
-
"markdown": "\n# Incoming Jobs\n"
|
|
370
|
+
"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."
|
|
374
371
|
}
|
|
375
372
|
},
|
|
376
373
|
{ <% "Incoming Job Queue Messages per minute" %>
|
|
@@ -412,11 +409,11 @@ Resources:
|
|
|
412
409
|
"title": "Handler Duration Percentiles"
|
|
413
410
|
}
|
|
414
411
|
},
|
|
412
|
+
<% current_y += 3 %>
|
|
415
413
|
|
|
416
414
|
|
|
417
|
-
<%
|
|
418
|
-
|
|
419
|
-
"height": 3,
|
|
415
|
+
{ <% "Incoming Job Queue Counts" %>
|
|
416
|
+
"height": 4,
|
|
420
417
|
"width": 9,
|
|
421
418
|
"y": <%= current_y %>,
|
|
422
419
|
"x": 0,
|
|
@@ -434,53 +431,18 @@ Resources:
|
|
|
434
431
|
"view": "timeSeries",
|
|
435
432
|
"stacked": false,
|
|
436
433
|
"region": "us-east-1",
|
|
437
|
-
"title": "Incoming Job Queue
|
|
434
|
+
"title": "Incoming Job Queue Counts",
|
|
438
435
|
"period": 60,
|
|
439
436
|
"stat": "Sum",
|
|
440
437
|
"setPeriodToTimeRange": true,
|
|
441
438
|
"liveData": true
|
|
442
439
|
}
|
|
443
440
|
},
|
|
444
|
-
{ <% "Incoming Job Handler Init Duration" %>
|
|
445
|
-
"type": "log",
|
|
446
|
-
"x": 0,
|
|
447
|
-
"y": <%= current_y + 3 %>,
|
|
448
|
-
"width": 9,
|
|
449
|
-
"height": 3,
|
|
450
|
-
"properties": {
|
|
451
|
-
"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",
|
|
452
|
-
"region": "us-east-1",
|
|
453
|
-
"stacked": false,
|
|
454
|
-
"view": "timeSeries",
|
|
455
|
-
"title": "Incoming Job Handler Init Duration"
|
|
456
|
-
}
|
|
457
|
-
},
|
|
458
|
-
{ <% "Incoming Job Handler Duration in Milliseconds" %>
|
|
459
|
-
"height": 6,
|
|
460
|
-
"width": 9,
|
|
461
|
-
"y": <%= current_y %>,
|
|
462
|
-
"x": 9,
|
|
463
|
-
"type": "metric",
|
|
464
|
-
"properties": {
|
|
465
|
-
"period": 60,
|
|
466
|
-
"metrics": [
|
|
467
|
-
[ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p20" } ],
|
|
468
|
-
[ "...", { "stat": "p50" } ],
|
|
469
|
-
[ "...", { "stat": "p80" } ],
|
|
470
|
-
[ "...", { "stat": "p90" } ]
|
|
471
|
-
],
|
|
472
|
-
"region": "us-east-1",
|
|
473
|
-
"title": "Incoming Job Handler Duration in Milliseconds",
|
|
474
|
-
"view": "timeSeries",
|
|
475
|
-
"stacked": false,
|
|
476
|
-
"liveData": true
|
|
477
|
-
}
|
|
478
|
-
},
|
|
479
441
|
{ <% "Incoming Job Handler Error count and success rate (%)" %>
|
|
480
442
|
"height": 3,
|
|
481
|
-
"width":
|
|
482
|
-
"y": <%= current_y %>,
|
|
483
|
-
"x":
|
|
443
|
+
"width": 4,
|
|
444
|
+
"y": <%= current_y + 4 %>,
|
|
445
|
+
"x": 0,
|
|
484
446
|
"type": "metric",
|
|
485
447
|
"properties": {
|
|
486
448
|
"period": 60,
|
|
@@ -501,13 +463,11 @@ Resources:
|
|
|
501
463
|
"liveData": true
|
|
502
464
|
}
|
|
503
465
|
},
|
|
504
|
-
|
|
505
|
-
|
|
506
466
|
{ <% "Incoming Job Handler Concurrent Executions" %>
|
|
507
467
|
"height": 3,
|
|
508
|
-
"width":
|
|
509
|
-
"y": <%= current_y +
|
|
510
|
-
"x":
|
|
468
|
+
"width": 5,
|
|
469
|
+
"y": <%= current_y + 4 %>,
|
|
470
|
+
"x": 4,
|
|
511
471
|
"type": "metric",
|
|
512
472
|
"properties": {
|
|
513
473
|
"period": 60,
|
|
@@ -521,9 +481,58 @@ Resources:
|
|
|
521
481
|
"liveData": true
|
|
522
482
|
}
|
|
523
483
|
},
|
|
524
|
-
|
|
484
|
+
|
|
485
|
+
{ <% "Incoming Job Handler Duration in Milliseconds" %>
|
|
486
|
+
"x": 9,
|
|
487
|
+
"y": <%= current_y %>,
|
|
488
|
+
"width": 10,
|
|
489
|
+
"height": 7,
|
|
490
|
+
"type": "metric",
|
|
491
|
+
"properties": {
|
|
492
|
+
"period": 60,
|
|
493
|
+
"metrics": [
|
|
494
|
+
[ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p20" } ],
|
|
495
|
+
[ "...", { "stat": "p50" } ],
|
|
496
|
+
[ "...", { "stat": "p80" } ],
|
|
497
|
+
[ "...", { "stat": "p90" } ]
|
|
498
|
+
],
|
|
499
|
+
"region": "us-east-1",
|
|
500
|
+
"title": "Incoming Job Handler Duration in Milliseconds",
|
|
501
|
+
"view": "timeSeries",
|
|
502
|
+
"stacked": false,
|
|
503
|
+
"liveData": true
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
{ <% "Incoming Job Handler Init Duration" %>
|
|
507
|
+
"type": "log",
|
|
508
|
+
"height": 4,
|
|
509
|
+
"width": 5,
|
|
510
|
+
"y": <%= current_y %>,
|
|
511
|
+
"x": 19,
|
|
512
|
+
"properties": {
|
|
513
|
+
"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",
|
|
514
|
+
"region": "us-east-1",
|
|
515
|
+
"stacked": false,
|
|
516
|
+
"view": "timeSeries",
|
|
517
|
+
"title": "Incoming Job Handler Init Duration"
|
|
518
|
+
}
|
|
519
|
+
},
|
|
520
|
+
{ <% "Incoming Job Handler Memory" %>
|
|
521
|
+
"height": 3,
|
|
522
|
+
"width": 5,
|
|
523
|
+
"y": <%= current_y + 4 %>,
|
|
524
|
+
"x": 19,
|
|
525
|
+
"type": "log",
|
|
526
|
+
"properties": {
|
|
527
|
+
"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)",
|
|
528
|
+
"region": "us-east-1",
|
|
529
|
+
"stacked": false,
|
|
530
|
+
"title": "IncomingJobHandler Memory",
|
|
531
|
+
"view": "timeSeries"
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
<% current_y += 7 %>
|
|
525
535
|
|
|
526
|
-
|
|
527
536
|
|
|
528
537
|
|
|
529
538
|
<%- queue_names.each do |queue_name| -%>
|
|
@@ -534,7 +543,7 @@ Resources:
|
|
|
534
543
|
"x": 0,
|
|
535
544
|
"type": "text",
|
|
536
545
|
"properties": {
|
|
537
|
-
"markdown": "\n# <%= queue_name.camelize %> Queue\n"
|
|
546
|
+
"markdown": "\n# <%= queue_name.camelize %> Queue\n Async jobs land here immediately, scheduled jobs land here in the minute before they're scheduled."
|
|
538
547
|
}
|
|
539
548
|
},
|
|
540
549
|
{ <% "Active Jobs messages per minut" %>
|
|
@@ -579,10 +588,12 @@ Resources:
|
|
|
579
588
|
"title": "Handler Duration"
|
|
580
589
|
}
|
|
581
590
|
},
|
|
582
|
-
|
|
583
|
-
|
|
591
|
+
<% current_y += 3 %>
|
|
592
|
+
|
|
593
|
+
{ <% "Active Job Queue Counts" %>
|
|
594
|
+
"height": 4,
|
|
584
595
|
"width": 9,
|
|
585
|
-
"y": <%= current_y
|
|
596
|
+
"y": <%= current_y %>,
|
|
586
597
|
"x": 0,
|
|
587
598
|
"type": "metric",
|
|
588
599
|
"properties": {
|
|
@@ -603,52 +614,17 @@ Resources:
|
|
|
603
614
|
"view": "timeSeries",
|
|
604
615
|
"stacked": false,
|
|
605
616
|
"region": "us-east-1",
|
|
606
|
-
"title": "<%= queue_name.camelize %> Queue
|
|
617
|
+
"title": "<%= queue_name.camelize %> Queue Counts",
|
|
607
618
|
"period": 60,
|
|
608
619
|
"stat": "Sum",
|
|
609
620
|
"liveData": true
|
|
610
621
|
}
|
|
611
622
|
},
|
|
612
|
-
{ <% "Queue Handler Init Duration" %>
|
|
613
|
-
"type": "log",
|
|
614
|
-
"x": 0,
|
|
615
|
-
"y": <%= current_y + 3 %>,
|
|
616
|
-
"width": 9,
|
|
617
|
-
"height": 3,
|
|
618
|
-
"properties": {
|
|
619
|
-
"query": "SOURCE '/aws/lambda/${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}' | 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",
|
|
620
|
-
"region": "us-east-1",
|
|
621
|
-
"stacked": false,
|
|
622
|
-
"view": "timeSeries",
|
|
623
|
-
"title": "Handler Init Duration"
|
|
624
|
-
}
|
|
625
|
-
},
|
|
626
|
-
{ <% "Active Job Handler Duration in Milliseconds" %>
|
|
627
|
-
"height": 6,
|
|
628
|
-
"width": 9,
|
|
629
|
-
"y": <%= current_y + 3 %>,
|
|
630
|
-
"x": 9,
|
|
631
|
-
"type": "metric",
|
|
632
|
-
"properties": {
|
|
633
|
-
"period": 60,
|
|
634
|
-
"metrics": [
|
|
635
|
-
[ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "stat": "p20" } ],
|
|
636
|
-
[ "...", { "stat": "p50" } ],
|
|
637
|
-
[ "...", { "stat": "p80" } ],
|
|
638
|
-
[ "...", { "stat": "p90" } ]
|
|
639
|
-
],
|
|
640
|
-
"region": "us-east-1",
|
|
641
|
-
"title": "<%= queue_name.camelize %> Queue Handler Duration in Milliseconds",
|
|
642
|
-
"view": "timeSeries",
|
|
643
|
-
"stacked": false,
|
|
644
|
-
"liveData": true
|
|
645
|
-
}
|
|
646
|
-
},
|
|
647
623
|
{ <% "Active Job HandlerError count and success rate (%)" %>
|
|
648
624
|
"height": 3,
|
|
649
|
-
"width":
|
|
650
|
-
"y": <%= current_y +
|
|
651
|
-
"x":
|
|
625
|
+
"width": 4,
|
|
626
|
+
"y": <%= current_y + 4 %>,
|
|
627
|
+
"x": 0,
|
|
652
628
|
"type": "metric",
|
|
653
629
|
"properties": {
|
|
654
630
|
"period": 60,
|
|
@@ -672,9 +648,9 @@ Resources:
|
|
|
672
648
|
},
|
|
673
649
|
{ <% "Active Job Handler Concurrent executions" %>
|
|
674
650
|
"height": 3,
|
|
675
|
-
"width":
|
|
676
|
-
"y": <%= current_y +
|
|
677
|
-
"x":
|
|
651
|
+
"width": 5,
|
|
652
|
+
"y": <%= current_y + 4 %>,
|
|
653
|
+
"x": 4,
|
|
678
654
|
"type": "metric",
|
|
679
655
|
"properties": {
|
|
680
656
|
"period": 60,
|
|
@@ -690,19 +666,67 @@ Resources:
|
|
|
690
666
|
}
|
|
691
667
|
},
|
|
692
668
|
|
|
693
|
-
<%
|
|
669
|
+
{ <% "Active Job Handler Duration in Milliseconds" %>
|
|
670
|
+
"x": 9,
|
|
671
|
+
"y": <%= current_y %>,
|
|
672
|
+
"width": 10,
|
|
673
|
+
"height": 7,
|
|
674
|
+
"type": "metric",
|
|
675
|
+
"properties": {
|
|
676
|
+
"period": 60,
|
|
677
|
+
"metrics": [
|
|
678
|
+
[ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "stat": "p20" } ],
|
|
679
|
+
[ "...", { "stat": "p50" } ],
|
|
680
|
+
[ "...", { "stat": "p80" } ],
|
|
681
|
+
[ "...", { "stat": "p90" } ]
|
|
682
|
+
],
|
|
683
|
+
"region": "us-east-1",
|
|
684
|
+
"title": "<%= queue_name.camelize %> Queue Handler Duration in Milliseconds",
|
|
685
|
+
"view": "timeSeries",
|
|
686
|
+
"stacked": false,
|
|
687
|
+
"liveData": true
|
|
688
|
+
}
|
|
689
|
+
},
|
|
690
|
+
{ <% "Queue Handler Init Duration" %>
|
|
691
|
+
"type": "log",
|
|
692
|
+
"height": 4,
|
|
693
|
+
"width": 5,
|
|
694
|
+
"y": <%= current_y %>,
|
|
695
|
+
"x": 19,
|
|
696
|
+
"properties": {
|
|
697
|
+
"query": "SOURCE '/aws/lambda/${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}' | 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",
|
|
698
|
+
"region": "us-east-1",
|
|
699
|
+
"stacked": false,
|
|
700
|
+
"view": "timeSeries",
|
|
701
|
+
"title": "<%= queue_name.camelize %> Handler Init Duration"
|
|
702
|
+
}
|
|
703
|
+
},
|
|
704
|
+
{ <% "Queue Handler Memory" %>
|
|
705
|
+
"height": 3,
|
|
706
|
+
"width": 5,
|
|
707
|
+
"y": <%= current_y + 4 %>,
|
|
708
|
+
"x": 19,
|
|
709
|
+
"type": "log",
|
|
710
|
+
"properties": {
|
|
711
|
+
"query": "SOURCE '/aws/lambda/${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}' | filter @type=\"REPORT\"\n| stats max(@memorySize) as provisioned,\navg(@maxMemoryUsed) as avg_used,\nmax(@maxMemoryUsed) as max_used by bin(60s)",
|
|
712
|
+
"region": "us-east-1",
|
|
713
|
+
"stacked": false,
|
|
714
|
+
"title": "<%= queue_name.camelize %> Handler Memory",
|
|
715
|
+
"view": "timeSeries"
|
|
716
|
+
}
|
|
717
|
+
},
|
|
718
|
+
<% current_y += 7 %>
|
|
694
719
|
<%- end -%>
|
|
695
720
|
|
|
696
|
-
|
|
697
721
|
|
|
698
|
-
{ <% "Delayed
|
|
722
|
+
{ <% "Delayed Job Activator" %>
|
|
699
723
|
"height": 3,
|
|
700
724
|
"width": 6,
|
|
701
725
|
"y": <%= current_y %>,
|
|
702
726
|
"x": 0,
|
|
703
727
|
"type": "text",
|
|
704
728
|
"properties": {
|
|
705
|
-
"markdown": "\n# Delayed
|
|
729
|
+
"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."
|
|
706
730
|
}
|
|
707
731
|
},
|
|
708
732
|
{ <% "Messages To Be Scheduled" %>
|
|
@@ -744,15 +768,17 @@ Resources:
|
|
|
744
768
|
"title": "Handler Duration"
|
|
745
769
|
}
|
|
746
770
|
},
|
|
771
|
+
<% current_y += 3 %>
|
|
747
772
|
|
|
748
773
|
|
|
749
774
|
|
|
750
|
-
|
|
751
|
-
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
{ <% "Job Activator Error count and success rate (%)" %>
|
|
752
778
|
"height": 3,
|
|
753
|
-
"width":
|
|
754
|
-
"y": <%= current_y %>,
|
|
755
|
-
"x":
|
|
779
|
+
"width": 4,
|
|
780
|
+
"y": <%= current_y + 4 %>,
|
|
781
|
+
"x": 0,
|
|
756
782
|
"type": "metric",
|
|
757
783
|
"properties": {
|
|
758
784
|
"period": 60,
|
|
@@ -762,7 +788,7 @@ Resources:
|
|
|
762
788
|
[ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
|
|
763
789
|
],
|
|
764
790
|
"region": "us-east-1",
|
|
765
|
-
"title": "
|
|
791
|
+
"title": "Job Activator Error count and success rate (%)",
|
|
766
792
|
"yAxis": {
|
|
767
793
|
"right": {
|
|
768
794
|
"max": 100
|
|
@@ -773,31 +799,28 @@ Resources:
|
|
|
773
799
|
"liveData": true
|
|
774
800
|
}
|
|
775
801
|
},
|
|
776
|
-
{ <% "
|
|
802
|
+
{ <% "Job Activator Concurrent Executions" %>
|
|
777
803
|
"height": 3,
|
|
778
|
-
"width":
|
|
779
|
-
"y": <%= current_y %>,
|
|
780
|
-
"x":
|
|
804
|
+
"width": 5,
|
|
805
|
+
"y": <%= current_y + 4 %>,
|
|
806
|
+
"x": 4,
|
|
781
807
|
"type": "metric",
|
|
782
808
|
"properties": {
|
|
783
809
|
"period": 60,
|
|
784
810
|
"metrics": [
|
|
785
|
-
[ "AWS/Lambda", "
|
|
786
|
-
[ "...", { "stat": "p50" } ],
|
|
787
|
-
[ "...", { "stat": "p80" } ],
|
|
788
|
-
[ "...", { "stat": "p90" } ]
|
|
811
|
+
[ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
|
|
789
812
|
],
|
|
790
813
|
"region": "us-east-1",
|
|
791
|
-
"title": "
|
|
814
|
+
"title": "Job Activator Concurrent Executions",
|
|
792
815
|
"view": "timeSeries",
|
|
793
816
|
"stacked": false,
|
|
794
817
|
"liveData": true
|
|
795
818
|
}
|
|
796
819
|
},
|
|
797
820
|
{ <% "Delayed Jobs To Be Executed In The Next 90 Seconds" %>
|
|
798
|
-
"height":
|
|
821
|
+
"height": 4,
|
|
799
822
|
"width": 9,
|
|
800
|
-
"y": <%= current_y %>,
|
|
823
|
+
"y": <%= current_y + 3 %>,
|
|
801
824
|
"x": 0,
|
|
802
825
|
"type": "metric",
|
|
803
826
|
"properties": {
|
|
@@ -813,9 +836,59 @@ Resources:
|
|
|
813
836
|
"liveData": true
|
|
814
837
|
}
|
|
815
838
|
},
|
|
839
|
+
{ <% "Job Activator Duration in Milliseconds" %>
|
|
840
|
+
"x": 9,
|
|
841
|
+
"y": <%= current_y %>,
|
|
842
|
+
"width": 10,
|
|
843
|
+
"height": 7,
|
|
844
|
+
"type": "metric",
|
|
845
|
+
"properties": {
|
|
846
|
+
"period": 60,
|
|
847
|
+
"metrics": [
|
|
848
|
+
[ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "p20" } ],
|
|
849
|
+
[ "...", { "stat": "p50" } ],
|
|
850
|
+
[ "...", { "stat": "p80" } ],
|
|
851
|
+
[ "...", { "stat": "p90" } ]
|
|
852
|
+
],
|
|
853
|
+
"region": "us-east-1",
|
|
854
|
+
"title": "Job Activator Duration in Milliseconds",
|
|
855
|
+
"view": "timeSeries",
|
|
856
|
+
"stacked": false,
|
|
857
|
+
"liveData": true
|
|
858
|
+
}
|
|
859
|
+
},
|
|
860
|
+
{ <% "Job Activator Init Duration" %>
|
|
861
|
+
"type": "log",
|
|
862
|
+
"height": 4,
|
|
863
|
+
"width": 5,
|
|
864
|
+
"y": <%= current_y %>,
|
|
865
|
+
"x": 19,
|
|
866
|
+
"properties": {
|
|
867
|
+
"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",
|
|
868
|
+
"region": "us-east-1",
|
|
869
|
+
"stacked": false,
|
|
870
|
+
"view": "timeSeries",
|
|
871
|
+
"title": "Job Activator Init Duration"
|
|
872
|
+
}
|
|
873
|
+
},
|
|
874
|
+
{ <% "Job Activator Memory" %>
|
|
875
|
+
"height": 3,
|
|
876
|
+
"width": 5,
|
|
877
|
+
"y": <%= current_y + 4 %>,
|
|
878
|
+
"x": 19,
|
|
879
|
+
"type": "log",
|
|
880
|
+
"properties": {
|
|
881
|
+
"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)",
|
|
882
|
+
"region": "us-east-1",
|
|
883
|
+
"stacked": false,
|
|
884
|
+
"title": "Job Activator Memory",
|
|
885
|
+
"view": "timeSeries"
|
|
886
|
+
}
|
|
887
|
+
},
|
|
888
|
+
<% current_y += 7 %>
|
|
889
|
+
|
|
816
890
|
|
|
817
891
|
|
|
818
|
-
<% current_y += 3 %>
|
|
819
892
|
{ <% "Scheduled Job Table Read Capacity Units" %>
|
|
820
893
|
"height": 3,
|
|
821
894
|
"width": 9,
|
|
@@ -838,29 +911,11 @@ Resources:
|
|
|
838
911
|
"liveData": true
|
|
839
912
|
}
|
|
840
913
|
},
|
|
841
|
-
{ <% "Delayd Job Schedule Concurrent executions" %>
|
|
842
|
-
"height": 3,
|
|
843
|
-
"width": 6,
|
|
844
|
-
"y": <%= current_y %>,
|
|
845
|
-
"x": 18,
|
|
846
|
-
"type": "metric",
|
|
847
|
-
"properties": {
|
|
848
|
-
"period": 60,
|
|
849
|
-
"metrics": [
|
|
850
|
-
[ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
|
|
851
|
-
],
|
|
852
|
-
"region": "us-east-1",
|
|
853
|
-
"title": "Delayd Job Schedule Concurrent executions",
|
|
854
|
-
"view": "timeSeries",
|
|
855
|
-
"stacked": false,
|
|
856
|
-
"liveData": true
|
|
857
|
-
}
|
|
858
|
-
},
|
|
859
914
|
{ <% "Scheduled Job Table Write Capacity Units" %>
|
|
860
915
|
"height": 3,
|
|
861
916
|
"width": 9,
|
|
862
|
-
"y": <%= current_y %>,
|
|
863
|
-
"x":
|
|
917
|
+
"y": <%= current_y + 3 %>,
|
|
918
|
+
"x": 0,
|
|
864
919
|
"type": "metric",
|
|
865
920
|
"properties": {
|
|
866
921
|
"metrics": [
|
|
@@ -879,26 +934,9 @@ Resources:
|
|
|
879
934
|
}
|
|
880
935
|
},
|
|
881
936
|
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
<% current_y += 3 %>
|
|
885
|
-
{ <% "Job Activator Init Duration" %>
|
|
886
|
-
"type": "log",
|
|
887
|
-
"x": 0,
|
|
888
|
-
"y": <%= current_y %>,
|
|
889
|
-
"width": 9,
|
|
890
|
-
"height": 3,
|
|
891
|
-
"properties": {
|
|
892
|
-
"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",
|
|
893
|
-
"region": "us-east-1",
|
|
894
|
-
"stacked": false,
|
|
895
|
-
"view": "timeSeries",
|
|
896
|
-
"title": "Handler Init Duration"
|
|
897
|
-
}
|
|
898
|
-
},
|
|
899
937
|
{ <% "Scheduled Job Table Latency" %>
|
|
900
|
-
"height":
|
|
901
|
-
"width":
|
|
938
|
+
"height": 6,
|
|
939
|
+
"width": 10,
|
|
902
940
|
"y": <%= current_y %>,
|
|
903
941
|
"x": 9,
|
|
904
942
|
"type": "metric",
|
|
@@ -909,6 +947,7 @@ Resources:
|
|
|
909
947
|
[ ".", "ThrottledRequests", ".", ".", ".", "PutItem", { "yAxis": "right", "visible": false } ],
|
|
910
948
|
[ ".", "SuccessfulRequestLatency", ".", ".", ".", "DeleteItem" ],
|
|
911
949
|
[ ".", "SuccessfulRequestLatency", ".", ".", ".", "UpdateItem" ],
|
|
950
|
+
[ ".", "SuccessfulRequestLatency", ".", ".", ".", "GetItem" ],
|
|
912
951
|
[ ".", "ThrottledRequests", ".", ".", ".", ".", { "yAxis": "right", "visible": false } ]
|
|
913
952
|
],
|
|
914
953
|
"view": "timeSeries",
|
|
@@ -920,16 +959,19 @@ Resources:
|
|
|
920
959
|
"liveData": true
|
|
921
960
|
}
|
|
922
961
|
},
|
|
962
|
+
|
|
923
963
|
{ <% "Scheduled Job Table Throttled Operations" %>
|
|
924
|
-
"height":
|
|
925
|
-
"width":
|
|
964
|
+
"height": 6,
|
|
965
|
+
"width": 5,
|
|
926
966
|
"y": <%= current_y %>,
|
|
927
|
-
"x":
|
|
967
|
+
"x": 19,
|
|
928
968
|
"type": "metric",
|
|
929
969
|
"properties": {
|
|
930
970
|
"metrics": [
|
|
931
971
|
[ "AWS/DynamoDB", "ThrottledRequests", "TableName", "${self:custom.funktor.JobsTableName}", "Operation", "DeleteItem" ],
|
|
932
|
-
[ "...", "PutItem" ]
|
|
972
|
+
[ "...", "PutItem" ],
|
|
973
|
+
[ "...", "UpdateItem" ],
|
|
974
|
+
[ "...", "GetItem" ]
|
|
933
975
|
],
|
|
934
976
|
"view": "timeSeries",
|
|
935
977
|
"stacked": false,
|
|
@@ -940,9 +982,7 @@ Resources:
|
|
|
940
982
|
"liveData": true
|
|
941
983
|
}
|
|
942
984
|
}
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
985
|
+
<% current_y += 6 %>
|
|
946
986
|
|
|
947
987
|
]
|
|
948
988
|
}
|
data/lib/funktor/version.rb
CHANGED