private createExecutionMetrics()

in src/state-machine.ts [46:69]


  private createExecutionMetrics() {
    const execMetrics = this.metrics.metricExecutions(this.stateMachine.stateMachineArn);
    const { failed } = execMetrics;
    const failedWithPeriod = failed.with({
      statistic: 'sum',
      period: Duration.minutes(5),
    });
    const failureAlarm = failedWithPeriod.createAlarm(this, 'ExecutionFailures', {
      alarmDescription: `at ${this.metricFailedThreshold}`,
      threshold: this.metricFailedThreshold,
      comparisonOperator: ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
      evaluationPeriods: 1,
    });

    this.watchful.addAlarm(failureAlarm);

    this.watchful.addWidgets(new GraphWidget({
      title: 'Overall Execution/min',
      width: 12,
      stacked: false,
      left: Object.values(execMetrics),
      leftAnnotations: [{ value: this.metricFailedThreshold, color: '#ff0000', label: 'Execution Failure Alarm' }],
    }));
  }