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' }],
}));
}