Skip to content

Commit 79d9fd4

Browse files
authored
fix: Fix latency alarm actions to adhere to the disambiguator action defaults (#308)
Addresses #307. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license_
1 parent 0103481 commit 79d9fd4

File tree

3 files changed

+58
-13
lines changed

3 files changed

+58
-13
lines changed

API.md

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

lib/common/monitoring/alarms/LatencyAlarmFactory.ts

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,12 @@ export class LatencyAlarmFactory {
128128
metric: MetricWithAlarmSupport,
129129
latencyType: LatencyType,
130130
props: LatencyThreshold,
131-
disambiguator?: string
131+
disambiguator?: string,
132+
additionalAlarmNameSuffix: string | undefined = undefined
132133
) {
133-
const alarmNameSuffix = `Latency-${latencyType}`;
134+
const alarmNameSuffix = ["Latency", latencyType, additionalAlarmNameSuffix]
135+
.filter((i) => i !== undefined)
136+
.join("-");
134137

135138
return this.alarmFactory.addAlarm(metric, {
136139
treatMissingData:
@@ -155,9 +158,16 @@ export class LatencyAlarmFactory {
155158
metric: MetricWithAlarmSupport,
156159
latencyType: LatencyType,
157160
props: LatencyThreshold,
158-
disambiguator?: string
161+
disambiguator?: string,
162+
additionalAlarmNameSuffix: string | undefined = undefined
159163
) {
160-
const alarmNameSuffix = `IntegrationLatency-${latencyType}`;
164+
const alarmNameSuffix = [
165+
"IntegrationLatency",
166+
latencyType,
167+
additionalAlarmNameSuffix,
168+
]
169+
.filter((i) => i !== undefined)
170+
.join("-");
161171

162172
return this.alarmFactory.addAlarm(metric, {
163173
treatMissingData:
@@ -182,9 +192,12 @@ export class LatencyAlarmFactory {
182192
metric: MetricWithAlarmSupport,
183193
latencyType: LatencyType,
184194
props: DurationThreshold,
185-
disambiguator?: string
195+
disambiguator?: string,
196+
additionalAlarmNameSuffix: string | undefined = undefined
186197
) {
187-
const alarmNameSuffix = `Duration-${latencyType}`;
198+
const alarmNameSuffix = ["Duration", latencyType, additionalAlarmNameSuffix]
199+
.filter((i) => i !== undefined)
200+
.join("-");
188201

189202
return this.alarmFactory.addAlarm(metric, {
190203
treatMissingData:
@@ -209,9 +222,16 @@ export class LatencyAlarmFactory {
209222
metric: MetricWithAlarmSupport,
210223
latencyType: LatencyType,
211224
props: DurationThreshold,
212-
disambiguator?: string
225+
disambiguator?: string,
226+
additionalAlarmNameSuffix: string | undefined = undefined
213227
) {
214-
const alarmNameSuffix = `Garbage-Collection-Time-${latencyType}`;
228+
const alarmNameSuffix = [
229+
"Garbage-Collection-Time",
230+
latencyType,
231+
additionalAlarmNameSuffix,
232+
]
233+
.filter((i) => i !== undefined)
234+
.join("-");
215235

216236
return this.alarmFactory.addAlarm(metric, {
217237
treatMissingData:

lib/monitoring/aws-dynamo/DynamoTableMonitoring.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,8 @@ export class DynamoTableMonitoring extends Monitoring {
343343
this.averagePerOperationLatencyMetrics[operation]!,
344344
LatencyType.AVERAGE,
345345
alarmProps,
346-
operation + "-" + disambiguator
346+
disambiguator,
347+
operation
347348
);
348349
this.latencyAnnotations.push(createdAlarm.annotation);
349350
this.addAlarm(createdAlarm);

0 commit comments

Comments
 (0)