Skip to content

Commit 2f5e35b

Browse files
authored
Increase threshold payment api stripe express alarm (#7076)
Also derive alarm description from config.
1 parent c4b9a09 commit 2f5e35b

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

cdk/lib/__snapshots__/payment-api.test.ts.snap

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cdk/lib/payment-api.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,11 @@ export class PaymentApi extends GuStack {
322322
snsTopicName: `alarms-handler-topic-${this.stage}`,
323323
});
324324

325+
const stripeExpressMetricDuration = Duration.minutes(5);
326+
const stripeExpressEvaluationPeriods = 18; // The number of 5 minute periods in 90 minutes
327+
const stripeExpressAlarmPeriod = Duration.minutes(
328+
stripeExpressMetricDuration.toMinutes() * stripeExpressEvaluationPeriods
329+
);
325330
const [applePaySuccessMetric, paymentRequestButtonSuccessMetric] = [
326331
"StripeApplePay",
327332
"StripePaymentRequestButton",
@@ -334,24 +339,24 @@ export class PaymentApi extends GuStack {
334339
"payment-provider": paymentProvider,
335340
},
336341
statistic: "Sum",
337-
period: Duration.seconds(300),
342+
period: stripeExpressMetricDuration
338343
})
339344
);
340345
const combinedApplePayAndPaymentRequestButtonSuccessMetric =
341346
new MathExpression({
342347
expression: "SUM(METRICS())",
343-
period: Duration.seconds(300),
348+
period: stripeExpressMetricDuration,
344349
usingMetrics: {
345350
m1: applePaySuccessMetric,
346351
m2: paymentRequestButtonSuccessMetric,
347352
},
348353
});
349354
new GuAlarm(this, "NoStripeExpressPaymentsInOneHourAlarm", {
350355
app,
351-
alarmName: `[CDK] ${app} ${this.stage} No successful stripe express payments via payment-api for an hour`,
356+
alarmName: `[CDK] ${app} ${this.stage} No successful stripe express payments via payment-api for ${stripeExpressAlarmPeriod.toHumanString()}`,
352357
actionsEnabled: props.stage === "PROD",
353358
threshold: 0,
354-
evaluationPeriods: 12,
359+
evaluationPeriods: stripeExpressEvaluationPeriods,
355360
comparisonOperator: ComparisonOperator.LESS_THAN_OR_EQUAL_TO_THRESHOLD,
356361
metric: combinedApplePayAndPaymentRequestButtonSuccessMetric,
357362
treatMissingData: TreatMissingData.BREACHING,

0 commit comments

Comments
 (0)