@composurecdk/lambda 0.8.3 → 0.8.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"function-alarms.d.ts","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAKX,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAoC,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AA2CrF;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,GACvC,eAAe,EAAE,CAqGnB;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,EACxC,YAAY,GAAE,sBAAsB,CAAC,cAAc,CAAC,EAAO,GAC1D,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAUvB"}
1
+ {"version":3,"file":"function-alarms.d.ts","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAKX,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EACL,sBAAsB,EAIvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AA2CrF;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,GACvC,eAAe,EAAE,CAgInB;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,EACxC,YAAY,GAAE,sBAAsB,CAAC,cAAc,CAAC,EAAO,GAC1D,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAUvB"}
@@ -70,40 +70,67 @@ function resolveFunctionAlarmDefinitions(fn, config, props, eventSources = []) {
70
70
  description: `Lambda function invocations are being throttled. Threshold: > ${String(cfg.threshold)} throttles in ${METRIC_PERIOD_LABEL}.`,
71
71
  });
72
72
  }
73
- const timeoutMs = props.timeout?.toMilliseconds();
74
- if (config?.duration !== false && timeoutMs !== undefined) {
75
- const cfg = resolvePercentageAlarmConfig(config?.duration, alarm_defaults_js_1.FUNCTION_ALARM_DEFAULTS.duration);
76
- const threshold = Math.round(timeoutMs * cfg.thresholdPercent);
77
- definitions.push({
78
- key: "duration",
79
- alarmName: cfg.alarmName,
80
- metric: fn.metricDuration({ period: METRIC_PERIOD, statistic: aws_cloudwatch_1.Stats.percentile(99) }),
81
- threshold,
82
- comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD,
83
- evaluationPeriods: cfg.evaluationPeriods,
84
- datapointsToAlarm: cfg.datapointsToAlarm,
85
- treatMissingData: cfg.treatMissingData,
86
- description: `Lambda function p99 duration is approaching the configured timeout. Threshold: > ${String(threshold)}ms (${String(cfg.thresholdPercent * 100)}% of ${String(timeoutMs)}ms timeout).`,
73
+ // Threshold is a percentage of the timeout, so it needs a concrete `Duration`.
74
+ // Check the `duration !== false` escape hatch *before* touching the timeout, so
75
+ // disabling always works even when the conversion below would throw. The shared
76
+ // helper then omits the alarm (and warns) for a token-valued timeout, which has
77
+ // no millisecond threshold at synth time.
78
+ if (config?.duration !== false) {
79
+ const timeoutMs = (0, cloudwatch_1.resolveAlarmThresholdBasis)({
80
+ scope: fn,
81
+ value: props.timeout,
82
+ isUnresolved: (timeout) => timeout.isUnresolved(),
83
+ resolve: (timeout) => timeout.toMilliseconds(),
84
+ warningId: "@composurecdk/lambda:token-timeout-duration-alarm",
85
+ alarmLabel: "Lambda duration",
86
+ suppressHint: "recommendedAlarms({ duration: false })",
87
87
  });
88
+ if (timeoutMs !== undefined) {
89
+ const cfg = resolvePercentageAlarmConfig(config?.duration, alarm_defaults_js_1.FUNCTION_ALARM_DEFAULTS.duration);
90
+ const threshold = Math.round(timeoutMs * cfg.thresholdPercent);
91
+ definitions.push({
92
+ key: "duration",
93
+ alarmName: cfg.alarmName,
94
+ metric: fn.metricDuration({ period: METRIC_PERIOD, statistic: aws_cloudwatch_1.Stats.percentile(99) }),
95
+ threshold,
96
+ comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD,
97
+ evaluationPeriods: cfg.evaluationPeriods,
98
+ datapointsToAlarm: cfg.datapointsToAlarm,
99
+ treatMissingData: cfg.treatMissingData,
100
+ description: `Lambda function p99 duration is approaching the configured timeout. Threshold: > ${String(threshold)}ms (${String(cfg.thresholdPercent * 100)}% of ${String(timeoutMs)}ms timeout).`,
101
+ });
102
+ }
88
103
  }
89
- const reservedConcurrency = props.reservedConcurrentExecutions;
90
- if (config?.concurrentExecutions !== false && reservedConcurrency !== undefined) {
91
- const cfg = resolvePercentageAlarmConfig(config?.concurrentExecutions, alarm_defaults_js_1.FUNCTION_ALARM_DEFAULTS.concurrentExecutions);
92
- const threshold = Math.round(reservedConcurrency * cfg.thresholdPercent);
93
- definitions.push({
94
- key: "concurrentExecutions",
95
- alarmName: cfg.alarmName,
96
- metric: fn.metric("ConcurrentExecutions", {
97
- period: METRIC_PERIOD,
98
- statistic: aws_cloudwatch_1.Stats.MAXIMUM,
99
- }),
100
- threshold,
101
- comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
102
- evaluationPeriods: cfg.evaluationPeriods,
103
- datapointsToAlarm: cfg.datapointsToAlarm,
104
- treatMissingData: cfg.treatMissingData,
105
- description: `Lambda function concurrent executions approaching reserved concurrency limit. Threshold: >= ${String(threshold)} (${String(cfg.thresholdPercent * 100)}% of ${String(reservedConcurrency)} reserved).`,
104
+ // Same shape, against a raw number. A token-valued `reservedConcurrentExecutions`
105
+ // wouldn't throw but would yield a meaningless threshold, so the helper skips it
106
+ // (default `Token.isUnresolved` guard).
107
+ if (config?.concurrentExecutions !== false) {
108
+ const reservedConcurrency = (0, cloudwatch_1.resolveAlarmThresholdBasis)({
109
+ scope: fn,
110
+ value: props.reservedConcurrentExecutions,
111
+ resolve: (reserved) => reserved,
112
+ warningId: "@composurecdk/lambda:token-reserved-concurrency-alarm",
113
+ alarmLabel: "Lambda concurrent-executions",
114
+ suppressHint: "recommendedAlarms({ concurrentExecutions: false })",
106
115
  });
116
+ if (reservedConcurrency !== undefined) {
117
+ const cfg = resolvePercentageAlarmConfig(config?.concurrentExecutions, alarm_defaults_js_1.FUNCTION_ALARM_DEFAULTS.concurrentExecutions);
118
+ const threshold = Math.round(reservedConcurrency * cfg.thresholdPercent);
119
+ definitions.push({
120
+ key: "concurrentExecutions",
121
+ alarmName: cfg.alarmName,
122
+ metric: fn.metric("ConcurrentExecutions", {
123
+ period: METRIC_PERIOD,
124
+ statistic: aws_cloudwatch_1.Stats.MAXIMUM,
125
+ }),
126
+ threshold,
127
+ comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
128
+ evaluationPeriods: cfg.evaluationPeriods,
129
+ datapointsToAlarm: cfg.datapointsToAlarm,
130
+ treatMissingData: cfg.treatMissingData,
131
+ description: `Lambda function concurrent executions approaching reserved concurrency limit. Threshold: >= ${String(threshold)} (${String(cfg.thresholdPercent * 100)}% of ${String(reservedConcurrency)} reserved).`,
132
+ });
133
+ }
107
134
  }
108
135
  for (const eventSource of eventSources) {
109
136
  // The ESM metrics that back these alarms are dimensioned on the mapping
@@ -1 +1 @@
1
- {"version":3,"file":"function-alarms.js","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-alarms.js","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":";;AAuEA,0EAqIC;AAiCD,oDAkBC;AA/PD,6CAAuC;AACvC,+DAMoC;AAIpC,yDAKkC;AAMlC,2DAA8D;AAG9D,MAAM,aAAa,GAAG,sBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,mBAAmB,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC;AAY1E;;;;;GAKG;AACH,MAAM,wBAAwB,GAAgE;IAC5F,GAAG,EAAE;QACH;YACE,SAAS,EAAE,mBAAmB;YAC9B,SAAS,EAAE,8BAA8B;YACzC,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAC3B,wBAAwB,GAAG,uCAAuC;gBAClE,gBAAgB,MAAM,CAAC,SAAS,CAAC,0BAA0B,mBAAmB,GAAG;SACpF;QACD;YACE,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,0BAA0B;YACrC,UAAU,EAAE,mBAAmB;YAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAC3B,wBAAwB,GAAG,wDAAwD;gBACnF,gBAAgB,MAAM,CAAC,SAAS,CAAC,sBAAsB,mBAAmB,GAAG;SAChF;KACF;IACD,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;;;GAIG;AACH,SAAgB,+BAA+B,CAC7C,EAAkB,EAClB,MAAuC,EACvC,KAAsE,EACtE,eAAsC,EAAE;IAExC,IAAI,MAAM,EAAE,OAAO,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,WAAW,GAAsB,EAAE,CAAC;IAE1C,IAAI,MAAM,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAA,+BAAkB,EAAC,MAAM,EAAE,MAAM,EAAE,2CAAuB,CAAC,MAAM,CAAC,CAAC;QAC/E,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YAClD,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,kBAAkB,EAAE,mCAAkB,CAAC,sBAAsB;YAC7D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,WAAW,EAAE,gEAAgE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,mBAAmB,GAAG;SACvI,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAA,+BAAkB,EAAC,MAAM,EAAE,SAAS,EAAE,2CAAuB,CAAC,SAAS,CAAC,CAAC;QACrF,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,WAAW;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YACrD,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,kBAAkB,EAAE,mCAAkB,CAAC,sBAAsB;YAC7D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,WAAW,EAAE,iEAAiE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,mBAAmB,GAAG;SAC3I,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,gFAAgF;IAChF,0CAA0C;IAC1C,IAAI,MAAM,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAA,uCAA0B,EAAC;YAC3C,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE;YACjD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE;YAC9C,SAAS,EAAE,mDAAmD;YAC9D,UAAU,EAAE,iBAAiB;YAC7B,YAAY,EAAE,wCAAwC;SACvD,CAAC,CAAC;QACH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,4BAA4B,CAAC,MAAM,EAAE,QAAQ,EAAE,2CAAuB,CAAC,QAAQ,CAAC,CAAC;YAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC/D,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG,EAAE,UAAU;gBACf,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAK,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrF,SAAS;gBACT,kBAAkB,EAAE,mCAAkB,CAAC,sBAAsB;gBAC7D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,WAAW,EAAE,oFAAoF,MAAM,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,MAAM,CAAC,SAAS,CAAC,cAAc;aACnM,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,iFAAiF;IACjF,wCAAwC;IACxC,IAAI,MAAM,EAAE,oBAAoB,KAAK,KAAK,EAAE,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAA,uCAA0B,EAAC;YACrD,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,KAAK,CAAC,4BAA4B;YACzC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;YAC/B,SAAS,EAAE,uDAAuD;YAClE,UAAU,EAAE,8BAA8B;YAC1C,YAAY,EAAE,oDAAoD;SACnE,CAAC,CAAC;QACH,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,4BAA4B,CACtC,MAAM,EAAE,oBAAoB,EAC5B,2CAAuB,CAAC,oBAAoB,CAC7C,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACzE,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG,EAAE,sBAAsB;gBAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE;oBACxC,MAAM,EAAE,aAAa;oBACrB,SAAS,EAAE,sBAAK,CAAC,OAAO;iBACzB,CAAC;gBACF,SAAS;gBACT,kBAAkB,EAAE,mCAAkB,CAAC,kCAAkC;gBACzE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,WAAW,EAAE,+FAA+F,MAAM,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,MAAM,CAAC,mBAAmB,CAAC,aAAa;aACrN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,wEAAwE;QACxE,yEAAyE;QACzE,YAAY;QACZ,IAAI,WAAW,CAAC,oBAAoB,KAAK,SAAS;YAAE,SAAS;QAE7D,KAAK,MAAM,IAAI,IAAI,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,UAAU,KAAK,KAAK;gBAAE,SAAS;YAEnC,MAAM,GAAG,GAAG,IAAA,+BAAkB,EAAC,UAAU,EAAE,2CAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpF,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE;gBAC1C,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC;gBAC5E,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,kBAAkB,EAAE,mCAAkB,CAAC,sBAAsB;gBAC7D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,oBAA4B,EAAE,UAAkB;IACzE,OAAO,IAAI,uBAAM,CAAC;QAChB,SAAS,EAAE,YAAY;QACvB,UAAU;QACV,aAAa,EAAE,EAAE,sBAAsB,EAAE,oBAAoB,EAAE;QAC/D,SAAS,EAAE,sBAAK,CAAC,GAAG;QACpB,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,oBAAoB,CAClC,KAAiB,EACjB,EAAU,EACV,EAAkB,EAClB,MAA+C,EAC/C,KAAsE,EACtE,eAAsC,EAAE,EACxC,eAAyD,EAAE;IAE3D,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,2CAAuB,CAAC,OAAO,CAAC;IACnE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,WAAW,GAAG,+BAA+B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO,IAAA,yBAAY,EAAC,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAUD;;;GAGG;AACH,SAAS,4BAA4B,CACnC,UAA6C,EAC7C,QAAuC;IAEvC,MAAM,gBAAgB,GAAG,UAAU,EAAE,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAEnF,IAAI,gBAAgB,IAAI,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,yEAAyE,MAAM,CAAC,gBAAgB,CAAC,GAAG,CACrG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,UAAU,EAAE,SAAS;QAChC,gBAAgB;QAChB,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;QAC9E,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;QAC9E,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;KAC5E,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"function-alarms.d.ts","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAKX,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAoC,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AA2CrF;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,GACvC,eAAe,EAAE,CAqGnB;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,EACxC,YAAY,GAAE,sBAAsB,CAAC,cAAc,CAAC,EAAO,GAC1D,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAUvB"}
1
+ {"version":3,"file":"function-alarms.d.ts","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,KAAK,EAKX,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EACL,sBAAsB,EAIvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AA2CrF;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,GACvC,eAAe,EAAE,CAgInB;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,8BAA8B,CAAC,EACtE,YAAY,GAAE,mBAAmB,EAAO,EACxC,YAAY,GAAE,sBAAsB,CAAC,cAAc,CAAC,EAAO,GAC1D,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAUvB"}
@@ -1,6 +1,6 @@
1
1
  import { Duration } from "aws-cdk-lib";
2
2
  import { ComparisonOperator, Metric, Stats, } from "aws-cdk-lib/aws-cloudwatch";
3
- import { createAlarms, resolveAlarmConfig } from "@composurecdk/cloudwatch";
3
+ import { createAlarms, resolveAlarmConfig, resolveAlarmThresholdBasis, } from "@composurecdk/cloudwatch";
4
4
  import { FUNCTION_ALARM_DEFAULTS } from "./alarm-defaults.js";
5
5
  const METRIC_PERIOD = Duration.minutes(1);
6
6
  const METRIC_PERIOD_LABEL = `${String(METRIC_PERIOD.toMinutes())} minute`;
@@ -66,40 +66,67 @@ export function resolveFunctionAlarmDefinitions(fn, config, props, eventSources
66
66
  description: `Lambda function invocations are being throttled. Threshold: > ${String(cfg.threshold)} throttles in ${METRIC_PERIOD_LABEL}.`,
67
67
  });
68
68
  }
69
- const timeoutMs = props.timeout?.toMilliseconds();
70
- if (config?.duration !== false && timeoutMs !== undefined) {
71
- const cfg = resolvePercentageAlarmConfig(config?.duration, FUNCTION_ALARM_DEFAULTS.duration);
72
- const threshold = Math.round(timeoutMs * cfg.thresholdPercent);
73
- definitions.push({
74
- key: "duration",
75
- alarmName: cfg.alarmName,
76
- metric: fn.metricDuration({ period: METRIC_PERIOD, statistic: Stats.percentile(99) }),
77
- threshold,
78
- comparisonOperator: ComparisonOperator.GREATER_THAN_THRESHOLD,
79
- evaluationPeriods: cfg.evaluationPeriods,
80
- datapointsToAlarm: cfg.datapointsToAlarm,
81
- treatMissingData: cfg.treatMissingData,
82
- description: `Lambda function p99 duration is approaching the configured timeout. Threshold: > ${String(threshold)}ms (${String(cfg.thresholdPercent * 100)}% of ${String(timeoutMs)}ms timeout).`,
69
+ // Threshold is a percentage of the timeout, so it needs a concrete `Duration`.
70
+ // Check the `duration !== false` escape hatch *before* touching the timeout, so
71
+ // disabling always works even when the conversion below would throw. The shared
72
+ // helper then omits the alarm (and warns) for a token-valued timeout, which has
73
+ // no millisecond threshold at synth time.
74
+ if (config?.duration !== false) {
75
+ const timeoutMs = resolveAlarmThresholdBasis({
76
+ scope: fn,
77
+ value: props.timeout,
78
+ isUnresolved: (timeout) => timeout.isUnresolved(),
79
+ resolve: (timeout) => timeout.toMilliseconds(),
80
+ warningId: "@composurecdk/lambda:token-timeout-duration-alarm",
81
+ alarmLabel: "Lambda duration",
82
+ suppressHint: "recommendedAlarms({ duration: false })",
83
83
  });
84
+ if (timeoutMs !== undefined) {
85
+ const cfg = resolvePercentageAlarmConfig(config?.duration, FUNCTION_ALARM_DEFAULTS.duration);
86
+ const threshold = Math.round(timeoutMs * cfg.thresholdPercent);
87
+ definitions.push({
88
+ key: "duration",
89
+ alarmName: cfg.alarmName,
90
+ metric: fn.metricDuration({ period: METRIC_PERIOD, statistic: Stats.percentile(99) }),
91
+ threshold,
92
+ comparisonOperator: ComparisonOperator.GREATER_THAN_THRESHOLD,
93
+ evaluationPeriods: cfg.evaluationPeriods,
94
+ datapointsToAlarm: cfg.datapointsToAlarm,
95
+ treatMissingData: cfg.treatMissingData,
96
+ description: `Lambda function p99 duration is approaching the configured timeout. Threshold: > ${String(threshold)}ms (${String(cfg.thresholdPercent * 100)}% of ${String(timeoutMs)}ms timeout).`,
97
+ });
98
+ }
84
99
  }
85
- const reservedConcurrency = props.reservedConcurrentExecutions;
86
- if (config?.concurrentExecutions !== false && reservedConcurrency !== undefined) {
87
- const cfg = resolvePercentageAlarmConfig(config?.concurrentExecutions, FUNCTION_ALARM_DEFAULTS.concurrentExecutions);
88
- const threshold = Math.round(reservedConcurrency * cfg.thresholdPercent);
89
- definitions.push({
90
- key: "concurrentExecutions",
91
- alarmName: cfg.alarmName,
92
- metric: fn.metric("ConcurrentExecutions", {
93
- period: METRIC_PERIOD,
94
- statistic: Stats.MAXIMUM,
95
- }),
96
- threshold,
97
- comparisonOperator: ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
98
- evaluationPeriods: cfg.evaluationPeriods,
99
- datapointsToAlarm: cfg.datapointsToAlarm,
100
- treatMissingData: cfg.treatMissingData,
101
- description: `Lambda function concurrent executions approaching reserved concurrency limit. Threshold: >= ${String(threshold)} (${String(cfg.thresholdPercent * 100)}% of ${String(reservedConcurrency)} reserved).`,
100
+ // Same shape, against a raw number. A token-valued `reservedConcurrentExecutions`
101
+ // wouldn't throw but would yield a meaningless threshold, so the helper skips it
102
+ // (default `Token.isUnresolved` guard).
103
+ if (config?.concurrentExecutions !== false) {
104
+ const reservedConcurrency = resolveAlarmThresholdBasis({
105
+ scope: fn,
106
+ value: props.reservedConcurrentExecutions,
107
+ resolve: (reserved) => reserved,
108
+ warningId: "@composurecdk/lambda:token-reserved-concurrency-alarm",
109
+ alarmLabel: "Lambda concurrent-executions",
110
+ suppressHint: "recommendedAlarms({ concurrentExecutions: false })",
102
111
  });
112
+ if (reservedConcurrency !== undefined) {
113
+ const cfg = resolvePercentageAlarmConfig(config?.concurrentExecutions, FUNCTION_ALARM_DEFAULTS.concurrentExecutions);
114
+ const threshold = Math.round(reservedConcurrency * cfg.thresholdPercent);
115
+ definitions.push({
116
+ key: "concurrentExecutions",
117
+ alarmName: cfg.alarmName,
118
+ metric: fn.metric("ConcurrentExecutions", {
119
+ period: METRIC_PERIOD,
120
+ statistic: Stats.MAXIMUM,
121
+ }),
122
+ threshold,
123
+ comparisonOperator: ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
124
+ evaluationPeriods: cfg.evaluationPeriods,
125
+ datapointsToAlarm: cfg.datapointsToAlarm,
126
+ treatMissingData: cfg.treatMissingData,
127
+ description: `Lambda function concurrent executions approaching reserved concurrency limit. Threshold: >= ${String(threshold)} (${String(cfg.thresholdPercent * 100)}% of ${String(reservedConcurrency)} reserved).`,
128
+ });
129
+ }
103
130
  }
104
131
  for (const eventSource of eventSources) {
105
132
  // The ESM metrics that back these alarms are dimensioned on the mapping
@@ -1 +1 @@
1
- {"version":3,"file":"function-alarms.js","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function-alarms.js","sourceRoot":"","sources":["../../src/function-alarms.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@composurecdk/lambda",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "description": "Composable Lambda function builder with well-architected defaults",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,17 @@
20
20
  "test": "vitest run --passWithNoTests",
21
21
  "test:watch": "vitest"
22
22
  },
23
- "keywords": [],
23
+ "keywords": [
24
+ "aws",
25
+ "cdk",
26
+ "aws-cdk",
27
+ "infrastructure-as-code",
28
+ "iac",
29
+ "composurecdk",
30
+ "lambda",
31
+ "serverless",
32
+ "function"
33
+ ],
24
34
  "author": "Jason Duffett (https://github.com/laazyj)",
25
35
  "license": "MIT",
26
36
  "publishConfig": {
@@ -47,11 +57,11 @@
47
57
  },
48
58
  "devDependencies": {
49
59
  "@composurecdk/iam": "^0.8.0",
50
- "@types/node": "^25.9.1",
51
- "aws-cdk-lib": "^2.257.0",
60
+ "@types/node": "^25.9.3",
61
+ "aws-cdk-lib": "^2.258.1",
52
62
  "constructs": "^10.6.0",
53
63
  "typescript": "^6.0.3",
54
- "vitest": "^4.1.7"
64
+ "vitest": "^4.1.8"
55
65
  },
56
66
  "exports": {
57
67
  "./package.json": "./package.json",