Skip to content

Commit f28986a

Browse files
author
Christopher D. Gokey
committed
KMS-660: More PR feedback
1 parent d662c53 commit f28986a

3 files changed

Lines changed: 34 additions & 37 deletions

File tree

cdk/app/lib/helper/KeywordSyncMonitoringSetup.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { Construct } from 'constructs'
77

88
const KEYWORD_SYNC_METRIC_NAMESPACE = 'KMS/KeywordSync'
99
const KEYWORD_EVENT_PUBLISH_FAILURES_METRIC = 'KeywordEventPublishFailures'
10+
const PUBLISH_FAILURE_ALARM_PERIOD = cdk.Duration.days(1)
1011

1112
export interface KeywordSyncMonitoringSetupProps {
1213
prefix: string
@@ -33,7 +34,7 @@ export class KeywordSyncMonitoringSetup {
3334
namespace: KEYWORD_SYNC_METRIC_NAMESPACE,
3435
metricName: KEYWORD_EVENT_PUBLISH_FAILURES_METRIC,
3536
statistic: 'Sum',
36-
period: cdk.Duration.minutes(5)
37+
period: PUBLISH_FAILURE_ALARM_PERIOD
3738
})
3839

3940
this.publishFailuresAlarm = new cloudwatch.Alarm(scope, 'KeywordSyncPublishFailuresAlarm', {

serverless/src/publisher/__tests__/handler.test.js

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -978,26 +978,17 @@ describe('publisher handler', () => {
978978
postPublishFailures: []
979979
})
980980

981-
expect(emitPublisherMetrics).toHaveBeenNthCalledWith(1, {
981+
expect(emitPublisherMetrics).toHaveBeenCalledTimes(1)
982+
expect(emitPublisherMetrics).toHaveBeenCalledWith({
982983
metrics: [
983984
{
984985
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_CHANGES_DETECTED,
985986
value: 1
986-
}
987-
]
988-
})
989-
990-
expect(emitPublisherMetrics).toHaveBeenNthCalledWith(2, {
991-
metrics: [
987+
},
992988
{
993989
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_GENERATED,
994990
value: 1
995-
}
996-
]
997-
})
998-
999-
expect(emitPublisherMetrics).toHaveBeenNthCalledWith(3, {
1000-
metrics: [
991+
},
1001992
{
1002993
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_PUBLISHED,
1003994
value: 1
@@ -1187,8 +1178,17 @@ describe('publisher handler', () => {
11871178
postPublishFailures: []
11881179
})
11891180

1190-
expect(emitPublisherMetrics).toHaveBeenNthCalledWith(3, {
1181+
expect(emitPublisherMetrics).toHaveBeenCalledTimes(1)
1182+
expect(emitPublisherMetrics).toHaveBeenCalledWith({
11911183
metrics: [
1184+
{
1185+
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_CHANGES_DETECTED,
1186+
value: 0
1187+
},
1188+
{
1189+
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_GENERATED,
1190+
value: 0
1191+
},
11921192
{
11931193
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_PUBLISHED,
11941194
value: 0
@@ -1573,6 +1573,14 @@ describe('publisher handler', () => {
15731573

15741574
expect(emitPublisherMetrics).toHaveBeenLastCalledWith({
15751575
metrics: [
1576+
{
1577+
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_CHANGES_DETECTED,
1578+
value: 2
1579+
},
1580+
{
1581+
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_GENERATED,
1582+
value: 2
1583+
},
15761584
{
15771585
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_PUBLISHED,
15781586
value: 1
@@ -1659,7 +1667,7 @@ describe('publisher handler', () => {
16591667

16601668
expect(result.status).toBe('success')
16611669
expect(logger.error).toHaveBeenCalledWith(
1662-
expect.stringContaining('[publisher] Failed to emit keyword sync metrics for keyword change detection.')
1670+
expect.stringContaining('[publisher] Failed to emit keyword sync metrics for keyword sync summary.')
16631671
)
16641672
})
16651673

serverless/src/publisher/handler.js

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -491,32 +491,12 @@ export const publisher = async (event) => {
491491
const totalSchemes = keywordChanges.size
492492
logger.info(`[publisher] Analysis completed. Processed ${totalSchemes} concept schemes.`)
493493

494-
await emitPublisherMetricsSafely(
495-
[
496-
{
497-
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_CHANGES_DETECTED,
498-
value: keywordChangesDetected
499-
}
500-
],
501-
'keyword change detection'
502-
)
503-
504494
const keywordEvents = createKeywordEvents(keywordChanges)
505495
const keywordEventsGenerated = keywordEvents.length
506496

507497
logger.info(`[publisher] Created ${keywordEvents.length} keyword events`)
508498
logger.info('[publisher] Keyword Events:', keywordEvents)
509499

510-
await emitPublisherMetricsSafely(
511-
[
512-
{
513-
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_GENERATED,
514-
value: keywordEventsGenerated
515-
}
516-
],
517-
'keyword event generation'
518-
)
519-
520500
// Execute the publish operation
521501
logger.info(`[publisher] Executing publish update for version=${versionName}`)
522502
const publishQuery = getPublishUpdateQuery(versionName, publishDate)
@@ -577,6 +557,14 @@ export const publisher = async (event) => {
577557

578558
await emitPublisherMetricsSafely(
579559
[
560+
{
561+
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_CHANGES_DETECTED,
562+
value: keywordChangesDetected
563+
},
564+
{
565+
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_GENERATED,
566+
value: keywordEventsGenerated
567+
},
580568
{
581569
metricName: PUBLISHER_METRIC_NAMES.KEYWORD_EVENTS_PUBLISHED,
582570
value: keywordEventsPublished
@@ -586,7 +574,7 @@ export const publisher = async (event) => {
586574
value: keywordEventPublishFailures
587575
}
588576
],
589-
'keyword event publish summary'
577+
'keyword sync summary'
590578
)
591579

592580
// Emit event for cache-prime to consume

0 commit comments

Comments
 (0)