funktor 0.7.19 → 0.7.22

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,7 +21,7 @@ Resources:
21
21
  },
22
22
  <% current_y += 3 %>
23
23
 
24
- { <% "Primary Workers Overview" %>
24
+ { <% "Worker Overview" %>
25
25
  "height": 1,
26
26
  "width": 24,
27
27
  "y": <%= current_y %>,
@@ -45,7 +45,7 @@ Resources:
45
45
  "metrics": [
46
46
  [ "${self:custom.funktor.DashboardNamespace}", "processed", "WorkerClassName", "<%= worker_name %>", { "color": "#2ca02c" } ],
47
47
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "label": "p90", "color": "#ff7f0e", "stat": "p90" } ],
48
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "label": "p60", "color": "#1f77b4", "stat": "p60" } ]
48
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "label": "p50", "color": "#1f77b4", "stat": "p50" } ]
49
49
  ],
50
50
  "view": "singleValue",
51
51
  "region": "us-east-1",
@@ -134,14 +134,14 @@ Resources:
134
134
  "type": "metric",
135
135
  "properties": {
136
136
  "metrics": [
137
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "label": "p60", "color": "#1f77b4" } ]
137
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "label": "p20", "color": "#1f77b4" } ]
138
138
  ],
139
139
  "view": "singleValue",
140
140
  "region": "us-east-1",
141
- "stat": "p60",
141
+ "stat": "p20",
142
142
  "period": 60,
143
143
  "sparkline": true,
144
- "title": "<%= worker_name %> p60"
144
+ "title": "<%= worker_name %> p20"
145
145
  }
146
146
  },
147
147
  { <% "Worker Duration Percentiles" %>
@@ -152,14 +152,14 @@ Resources:
152
152
  "type": "metric",
153
153
  "properties": {
154
154
  "metrics": [
155
- [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "label": "p70", "color": "#ff7f0e" } ]
155
+ [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "label": "p50", "color": "#ff7f0e" } ]
156
156
  ],
157
157
  "view": "singleValue",
158
158
  "region": "us-east-1",
159
- "stat": "p70",
159
+ "stat": "p50",
160
160
  "period": 60,
161
161
  "sparkline": true,
162
- "title": "<%= worker_name %> p70"
162
+ "title": "<%= worker_name %> p50"
163
163
  }
164
164
  },
165
165
  { <% "Worker Duration Percentiles" %>
@@ -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,
@@ -291,13 +288,13 @@ Resources:
291
288
  "metrics": [
292
289
  [ "${self:custom.funktor.DashboardNamespace}", "Duration", "WorkerClassName", "<%= worker_name %>", { "stat": "p90", "color": "#d62728" } ],
293
290
  [ "...", { "stat": "p80", "color": "#2ca02c" } ],
294
- [ "...", { "stat": "p70", "color": "#ff7f0e" } ],
291
+ [ "...", { "stat": "p50", "color": "#ff7f0e" } ],
295
292
  [ "...", { "color": "#1f77b4" } ]
296
293
  ],
297
294
  "view": "timeSeries",
298
295
  "stacked": false,
299
296
  "region": "us-east-1",
300
- "stat": "p60",
297
+ "stat": "p20",
301
298
  "period": 60,
302
299
  "title": "<%= worker_name %> Duration Percentiles",
303
300
  "legend": {
@@ -351,7 +348,7 @@ Resources:
351
348
  <%- end -%>
352
349
 
353
350
  { <% "Funktor Behind the Scenes Banner" %>
354
- "height": 3,
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" %>
@@ -399,24 +396,24 @@ Resources:
399
396
  "type": "metric",
400
397
  "properties": {
401
398
  "metrics": [
402
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", "Resource", "${self:custom.funktor.IncomingJobHandlerName}", { "label": "p60" } ],
403
- [ "...", { "label": "p70", "stat": "p70" } ],
399
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", "Resource", "${self:custom.funktor.IncomingJobHandlerName}", { "label": "p20" } ],
400
+ [ "...", { "label": "p50", "stat": "p50" } ],
404
401
  [ "...", { "label": "p80", "stat": "p80" } ],
405
402
  [ "...", { "label": "p90", "stat": "p90" } ]
406
403
  ],
407
404
  "view": "singleValue",
408
405
  "region": "us-east-1",
409
- "stat": "p60",
406
+ "stat": "p20",
410
407
  "period": 60,
411
408
  "sparkline": true,
412
409
  "title": "Handler Duration Percentiles"
413
410
  }
414
411
  },
412
+ <% current_y += 3 %>
415
413
 
416
414
 
417
- <% current_y += 3 %>
418
- { <% "Incoming Job Queue (Async & scheduled jobs land here first)" %>
419
- "height": 6,
415
+ { <% "Incoming Job Queue Counts" %>
416
+ "height": 4,
420
417
  "width": 9,
421
418
  "y": <%= current_y %>,
422
419
  "x": 0,
@@ -434,39 +431,18 @@ Resources:
434
431
  "view": "timeSeries",
435
432
  "stacked": false,
436
433
  "region": "us-east-1",
437
- "title": "Incoming Job Queue (Async & scheduled jobs land here first)",
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 Duration in Milliseconds" %>
445
- "height": 6,
446
- "width": 9,
447
- "y": <%= current_y %>,
448
- "x": 9,
449
- "type": "metric",
450
- "properties": {
451
- "period": 60,
452
- "metrics": [
453
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.IncomingJobHandlerName}", { "stat": "p60" } ],
454
- [ "...", { "stat": "p70" } ],
455
- [ "...", { "stat": "p80" } ],
456
- [ "...", { "stat": "p90" } ]
457
- ],
458
- "region": "us-east-1",
459
- "title": "Incoming Job Handler Duration in Milliseconds",
460
- "view": "timeSeries",
461
- "stacked": false,
462
- "liveData": true
463
- }
464
- },
465
441
  { <% "Incoming Job Handler Error count and success rate (%)" %>
466
442
  "height": 3,
467
- "width": 6,
468
- "y": <%= current_y %>,
469
- "x": 18,
443
+ "width": 4,
444
+ "y": <%= current_y + 4 %>,
445
+ "x": 0,
470
446
  "type": "metric",
471
447
  "properties": {
472
448
  "period": 60,
@@ -487,13 +463,11 @@ Resources:
487
463
  "liveData": true
488
464
  }
489
465
  },
490
-
491
-
492
466
  { <% "Incoming Job Handler Concurrent Executions" %>
493
467
  "height": 3,
494
- "width": 6,
495
- "y": <%= current_y + 3 %>,
496
- "x": 18,
468
+ "width": 5,
469
+ "y": <%= current_y + 4 %>,
470
+ "x": 4,
497
471
  "type": "metric",
498
472
  "properties": {
499
473
  "period": 60,
@@ -507,10 +481,60 @@ Resources:
507
481
  "liveData": true
508
482
  }
509
483
  },
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 %>
510
535
 
511
536
 
512
537
 
513
- <% current_y += 6 %>
514
538
  <%- queue_names.each do |queue_name| -%>
515
539
  { <% "Active Jobs" %>
516
540
  "height": 3,
@@ -519,7 +543,7 @@ Resources:
519
543
  "x": 0,
520
544
  "type": "text",
521
545
  "properties": {
522
- "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."
523
547
  }
524
548
  },
525
549
  { <% "Active Jobs messages per minut" %>
@@ -551,23 +575,25 @@ Resources:
551
575
  "metrics": [
552
576
  [ "AWS/Lambda", "Duration", "FunctionName",
553
577
  "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", "Resource",
554
- "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "label": "p60" } ],
555
- [ "...", { "label": "p70", "stat": "p70" } ],
578
+ "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "label": "p20" } ],
579
+ [ "...", { "label": "p50", "stat": "p50" } ],
556
580
  [ "...", { "label": "p80", "stat": "p80" } ],
557
581
  [ "...", { "label": "p90", "stat": "p90" } ]
558
582
  ],
559
583
  "view": "singleValue",
560
584
  "region": "us-east-1",
561
- "stat": "p60",
585
+ "stat": "p20",
562
586
  "period": 60,
563
587
  "sparkline": true,
564
588
  "title": "Handler Duration"
565
589
  }
566
590
  },
567
- { <% "Active Job Queue" %>
568
- "height": 6,
591
+ <% current_y += 3 %>
592
+
593
+ { <% "Active Job Queue Counts" %>
594
+ "height": 4,
569
595
  "width": 9,
570
- "y": <%= current_y + 3 %>,
596
+ "y": <%= current_y %>,
571
597
  "x": 0,
572
598
  "type": "metric",
573
599
  "properties": {
@@ -588,38 +614,17 @@ Resources:
588
614
  "view": "timeSeries",
589
615
  "stacked": false,
590
616
  "region": "us-east-1",
591
- "title": "<%= queue_name.camelize %> Queue (Async jobs go here immediately, scheduled jobs land here in the minute before they're scheduled)",
617
+ "title": "<%= queue_name.camelize %> Queue Counts",
592
618
  "period": 60,
593
619
  "stat": "Sum",
594
620
  "liveData": true
595
621
  }
596
622
  },
597
- { <% "Active Job Handler Duration in Milliseconds" %>
598
- "height": 6,
599
- "width": 9,
600
- "y": <%= current_y + 3 %>,
601
- "x": 9,
602
- "type": "metric",
603
- "properties": {
604
- "period": 60,
605
- "metrics": [
606
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.<%= queue_name.camelize %>QueueHandlerName}", { "stat": "p60" } ],
607
- [ "...", { "stat": "p70" } ],
608
- [ "...", { "stat": "p80" } ],
609
- [ "...", { "stat": "p90" } ]
610
- ],
611
- "region": "us-east-1",
612
- "title": "<%= queue_name.camelize %> Queue Handler Duration in Milliseconds",
613
- "view": "timeSeries",
614
- "stacked": false,
615
- "liveData": true
616
- }
617
- },
618
623
  { <% "Active Job HandlerError count and success rate (%)" %>
619
624
  "height": 3,
620
- "width": 6,
621
- "y": <%= current_y + 3 %>,
622
- "x": 18,
625
+ "width": 4,
626
+ "y": <%= current_y + 4 %>,
627
+ "x": 0,
623
628
  "type": "metric",
624
629
  "properties": {
625
630
  "period": 60,
@@ -643,9 +648,9 @@ Resources:
643
648
  },
644
649
  { <% "Active Job Handler Concurrent executions" %>
645
650
  "height": 3,
646
- "width": 6,
647
- "y": <%= current_y + 6 %>,
648
- "x": 18,
651
+ "width": 5,
652
+ "y": <%= current_y + 4 %>,
653
+ "x": 4,
649
654
  "type": "metric",
650
655
  "properties": {
651
656
  "period": 60,
@@ -661,19 +666,67 @@ Resources:
661
666
  }
662
667
  },
663
668
 
664
- <% current_y += 9 %>
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 %>
665
719
  <%- end -%>
666
720
 
667
-
668
721
 
669
- { <% "Delayed Jobs" %>
722
+ { <% "Delayed Job Activator" %>
670
723
  "height": 3,
671
724
  "width": 6,
672
725
  "y": <%= current_y %>,
673
726
  "x": 0,
674
727
  "type": "text",
675
728
  "properties": {
676
- "markdown": "\n# Delayed Jobs\n"
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."
677
730
  }
678
731
  },
679
732
  { <% "Messages To Be Scheduled" %>
@@ -702,28 +755,30 @@ Resources:
702
755
  "type": "metric",
703
756
  "properties": {
704
757
  "metrics": [
705
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", "Resource", "${self:custom.funktor.JobActivatorName}", { "label": "p60" } ],
706
- [ "...", { "label": "p70", "stat": "p70" } ],
758
+ [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", "Resource", "${self:custom.funktor.JobActivatorName}", { "label": "p20" } ],
759
+ [ "...", { "label": "p50", "stat": "p50" } ],
707
760
  [ "...", { "label": "p80", "stat": "p80" } ],
708
761
  [ "...", { "label": "p90", "stat": "p90" } ]
709
762
  ],
710
763
  "view": "singleValue",
711
764
  "region": "us-east-1",
712
- "stat": "p60",
765
+ "stat": "p20",
713
766
  "period": 60,
714
767
  "sparkline": true,
715
768
  "title": "Handler Duration"
716
769
  }
717
770
  },
771
+ <% current_y += 3 %>
718
772
 
719
773
 
720
774
 
721
- <% current_y += 3 %>
722
- { <% "Delayed Job SchedulerError count and success rate (%)" %>
775
+
776
+
777
+ { <% "Job Activator Error count and success rate (%)" %>
723
778
  "height": 3,
724
- "width": 6,
725
- "y": <%= current_y %>,
726
- "x": 18,
779
+ "width": 4,
780
+ "y": <%= current_y + 4 %>,
781
+ "x": 0,
727
782
  "type": "metric",
728
783
  "properties": {
729
784
  "period": 60,
@@ -733,7 +788,7 @@ Resources:
733
788
  [ { "expression": "100 - 100 * errors / MAX([errors, invocations])", "label": "Success rate (%)", "id": "availability", "yAxis": "right", "region": "us-east-1" } ]
734
789
  ],
735
790
  "region": "us-east-1",
736
- "title": "Delayed Job SchedulerError count and success rate (%)",
791
+ "title": "Job Activator Error count and success rate (%)",
737
792
  "yAxis": {
738
793
  "right": {
739
794
  "max": 100
@@ -744,31 +799,28 @@ Resources:
744
799
  "liveData": true
745
800
  }
746
801
  },
747
- { <% "Delayed Job Scheduler Duration" %>
802
+ { <% "Job Activator Concurrent Executions" %>
748
803
  "height": 3,
749
- "width": 9,
750
- "y": <%= current_y %>,
751
- "x": 9,
804
+ "width": 5,
805
+ "y": <%= current_y + 4 %>,
806
+ "x": 4,
752
807
  "type": "metric",
753
808
  "properties": {
754
809
  "period": 60,
755
810
  "metrics": [
756
- [ "AWS/Lambda", "Duration", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "p60" } ],
757
- [ "...", { "stat": "p70" } ],
758
- [ "...", { "stat": "p80" } ],
759
- [ "...", { "stat": "p90" } ]
811
+ [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
760
812
  ],
761
813
  "region": "us-east-1",
762
- "title": "Delayed Job Scheduler Duration",
814
+ "title": "Job Activator Concurrent Executions",
763
815
  "view": "timeSeries",
764
816
  "stacked": false,
765
817
  "liveData": true
766
818
  }
767
819
  },
768
820
  { <% "Delayed Jobs To Be Executed In The Next 90 Seconds" %>
769
- "height": 3,
821
+ "height": 4,
770
822
  "width": 9,
771
- "y": <%= current_y %>,
823
+ "y": <%= current_y + 3 %>,
772
824
  "x": 0,
773
825
  "type": "metric",
774
826
  "properties": {
@@ -784,9 +836,59 @@ Resources:
784
836
  "liveData": true
785
837
  }
786
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
+
787
890
 
788
891
 
789
- <% current_y += 3 %>
790
892
  { <% "Scheduled Job Table Read Capacity Units" %>
791
893
  "height": 3,
792
894
  "width": 9,
@@ -809,29 +911,11 @@ Resources:
809
911
  "liveData": true
810
912
  }
811
913
  },
812
- { <% "Delayd Job Schedule Concurrent executions" %>
813
- "height": 3,
814
- "width": 6,
815
- "y": <%= current_y %>,
816
- "x": 18,
817
- "type": "metric",
818
- "properties": {
819
- "period": 60,
820
- "metrics": [
821
- [ "AWS/Lambda", "ConcurrentExecutions", "FunctionName", "${self:custom.funktor.JobActivatorName}", { "stat": "Maximum" } ]
822
- ],
823
- "region": "us-east-1",
824
- "title": "Delayd Job Schedule Concurrent executions",
825
- "view": "timeSeries",
826
- "stacked": false,
827
- "liveData": true
828
- }
829
- },
830
914
  { <% "Scheduled Job Table Write Capacity Units" %>
831
915
  "height": 3,
832
916
  "width": 9,
833
- "y": <%= current_y %>,
834
- "x": 9,
917
+ "y": <%= current_y + 3 %>,
918
+ "x": 0,
835
919
  "type": "metric",
836
920
  "properties": {
837
921
  "metrics": [
@@ -850,14 +934,11 @@ Resources:
850
934
  }
851
935
  },
852
936
 
853
-
854
-
855
- <% current_y += 3 %>
856
937
  { <% "Scheduled Job Table Latency" %>
857
- "height": 3,
858
- "width": 18,
938
+ "height": 6,
939
+ "width": 10,
859
940
  "y": <%= current_y %>,
860
- "x": 0,
941
+ "x": 9,
861
942
  "type": "metric",
862
943
  "properties": {
863
944
  "metrics": [
@@ -866,6 +947,7 @@ Resources:
866
947
  [ ".", "ThrottledRequests", ".", ".", ".", "PutItem", { "yAxis": "right", "visible": false } ],
867
948
  [ ".", "SuccessfulRequestLatency", ".", ".", ".", "DeleteItem" ],
868
949
  [ ".", "SuccessfulRequestLatency", ".", ".", ".", "UpdateItem" ],
950
+ [ ".", "SuccessfulRequestLatency", ".", ".", ".", "GetItem" ],
869
951
  [ ".", "ThrottledRequests", ".", ".", ".", ".", { "yAxis": "right", "visible": false } ]
870
952
  ],
871
953
  "view": "timeSeries",
@@ -877,16 +959,19 @@ Resources:
877
959
  "liveData": true
878
960
  }
879
961
  },
962
+
880
963
  { <% "Scheduled Job Table Throttled Operations" %>
881
- "height": 3,
882
- "width": 6,
964
+ "height": 6,
965
+ "width": 5,
883
966
  "y": <%= current_y %>,
884
- "x": 18,
967
+ "x": 19,
885
968
  "type": "metric",
886
969
  "properties": {
887
970
  "metrics": [
888
971
  [ "AWS/DynamoDB", "ThrottledRequests", "TableName", "${self:custom.funktor.JobsTableName}", "Operation", "DeleteItem" ],
889
- [ "...", "PutItem" ]
972
+ [ "...", "PutItem" ],
973
+ [ "...", "UpdateItem" ],
974
+ [ "...", "GetItem" ]
890
975
  ],
891
976
  "view": "timeSeries",
892
977
  "stacked": false,
@@ -897,9 +982,7 @@ Resources:
897
982
  "liveData": true
898
983
  }
899
984
  }
900
-
901
-
902
-
985
+ <% current_y += 6 %>
903
986
 
904
987
  ]
905
988
  }