Skip to content

Commit 756ba1e

Browse files
committed
feat: handle the case of no matchingIncident found
1 parent 49998a5 commit 756ba1e

File tree

2 files changed

+17
-27
lines changed

2 files changed

+17
-27
lines changed

web/src/components/Incidents/processAlerts.spec.ts

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,6 @@ describe('convertToAlerts', () => {
319319
alertname: 'Alert2',
320320
namespace: 'ns2',
321321
severity: 'warning',
322-
component: 'comp2',
323-
layer: 'layer2',
324322
name: 'name2',
325323
alertstate: 'firing',
326324
},
@@ -331,8 +329,6 @@ describe('convertToAlerts', () => {
331329
alertname: 'Alert1',
332330
namespace: 'ns1',
333331
severity: 'critical',
334-
component: 'comp1',
335-
layer: 'layer1',
336332
name: 'name1',
337333
alertstate: 'firing',
338334
},
@@ -343,13 +339,17 @@ describe('convertToAlerts', () => {
343339
const incidents: Array<Partial<Incident>> = [
344340
{
345341
group_id: 'incident1',
342+
component: 'comp1',
343+
layer: 'layer1',
346344
src_alertname: 'Alert1',
347345
src_namespace: 'ns1',
348346
src_severity: 'critical',
349347
values: [[nowSeconds - 3600, '2']],
350348
},
351349
{
352350
group_id: 'incident2',
351+
component: 'comp2',
352+
layer: 'layer2',
353353
src_alertname: 'Alert2',
354354
src_namespace: 'ns2',
355355
src_severity: 'warning',
@@ -370,8 +370,6 @@ describe('convertToAlerts', () => {
370370
alertname: 'Alert1',
371371
namespace: 'ns1',
372372
severity: 'critical',
373-
component: 'comp1',
374-
layer: 'layer1',
375373
name: 'name1',
376374
alertstate: 'firing',
377375
},
@@ -382,8 +380,6 @@ describe('convertToAlerts', () => {
382380
alertname: 'Alert2',
383381
namespace: 'ns2',
384382
severity: 'warning',
385-
component: 'comp2',
386-
layer: 'layer2',
387383
name: 'name2',
388384
alertstate: 'firing',
389385
},
@@ -415,8 +411,6 @@ describe('convertToAlerts', () => {
415411
alertname: 'TestAlert',
416412
namespace: 'test-namespace',
417413
severity: 'critical',
418-
component: 'test-component',
419-
layer: 'test-layer',
420414
name: 'test',
421415
alertstate: 'firing',
422416
},
@@ -430,6 +424,8 @@ describe('convertToAlerts', () => {
430424
src_alertname: 'TestAlert',
431425
src_namespace: 'test-namespace',
432426
src_severity: 'critical',
427+
component: 'test-component',
428+
layer: 'test-layer',
433429
silenced: true,
434430
values: [[nowSeconds, '2']],
435431
},
@@ -447,8 +443,6 @@ describe('convertToAlerts', () => {
447443
alertname: 'TestAlert',
448444
namespace: 'test-namespace',
449445
severity: 'critical',
450-
component: 'test-component',
451-
layer: 'test-layer',
452446
name: 'test',
453447
alertstate: 'firing',
454448
},
@@ -462,6 +456,8 @@ describe('convertToAlerts', () => {
462456
src_alertname: 'DifferentAlert',
463457
src_namespace: 'different-namespace',
464458
src_severity: 'warning',
459+
component: 'test-component',
460+
layer: 'test-layer',
465461
values: [[nowSeconds, '1']],
466462
},
467463
];
@@ -480,8 +476,6 @@ describe('convertToAlerts', () => {
480476
alertname: 'TestAlert',
481477
namespace: 'test-namespace',
482478
severity: 'critical',
483-
component: 'test-component',
484-
layer: 'test-layer',
485479
name: 'test',
486480
alertstate: 'firing',
487481
},
@@ -499,6 +493,8 @@ describe('convertToAlerts', () => {
499493
src_alertname: 'TestAlert',
500494
src_namespace: 'test-namespace',
501495
src_severity: 'critical',
496+
component: 'test-component',
497+
layer: 'test-layer',
502498
silenced: false,
503499
values: [[nowSeconds - 600, '2']],
504500
},
@@ -527,8 +523,6 @@ describe('convertToAlerts', () => {
527523
alertname: 'MyAlert',
528524
namespace: 'my-namespace',
529525
severity: 'warning',
530-
component: 'my-component',
531-
layer: 'my-layer',
532526
name: 'my-name',
533527
alertstate: 'firing',
534528
},
@@ -542,6 +536,8 @@ describe('convertToAlerts', () => {
542536
src_alertname: 'MyAlert',
543537
src_namespace: 'my-namespace',
544538
src_severity: 'warning',
539+
component: 'my-component',
540+
layer: 'my-layer',
545541
values: [[nowSeconds, '1']],
546542
},
547543
];
@@ -566,7 +562,6 @@ describe('deduplicateAlerts', () => {
566562
metric: {
567563
alertname: 'Alert1',
568564
namespace: 'ns1',
569-
component: 'comp1',
570565
severity: 'critical',
571566
alertstate: 'resolved',
572567
},
@@ -576,7 +571,6 @@ describe('deduplicateAlerts', () => {
576571
metric: {
577572
alertname: 'Alert2',
578573
namespace: 'ns2',
579-
component: 'comp2',
580574
severity: 'warning',
581575
alertstate: 'firing',
582576
},
@@ -597,7 +591,6 @@ describe('deduplicateAlerts', () => {
597591
metric: {
598592
alertname: 'Alert1',
599593
namespace: 'ns1',
600-
component: 'comp1',
601594
severity: 'critical',
602595
alertstate: 'firing',
603596
},
@@ -610,7 +603,6 @@ describe('deduplicateAlerts', () => {
610603
metric: {
611604
alertname: 'Alert1',
612605
namespace: 'ns1',
613-
component: 'comp1',
614606
severity: 'critical',
615607
alertstate: 'firing',
616608
},
@@ -632,7 +624,6 @@ describe('deduplicateAlerts', () => {
632624
metric: {
633625
alertname: 'Alert1',
634626
namespace: 'ns1',
635-
component: 'comp1',
636627
severity: 'critical',
637628
alertstate: 'firing',
638629
},
@@ -642,7 +633,6 @@ describe('deduplicateAlerts', () => {
642633
metric: {
643634
alertname: 'Alert2',
644635
namespace: 'ns1',
645-
component: 'comp1',
646636
severity: 'critical',
647637
alertstate: 'firing',
648638
},
@@ -660,7 +650,6 @@ describe('deduplicateAlerts', () => {
660650
metric: {
661651
alertname: 'Alert1',
662652
namespace: 'ns1',
663-
component: 'comp1',
664653
severity: 'critical',
665654
alertstate: 'firing',
666655
},
@@ -670,7 +659,6 @@ describe('deduplicateAlerts', () => {
670659
metric: {
671660
alertname: 'Alert1',
672661
namespace: 'ns1',
673-
component: 'comp1',
674662
severity: 'warning',
675663
alertstate: 'firing',
676664
},
@@ -690,7 +678,6 @@ describe('deduplicateAlerts', () => {
690678
metric: {
691679
alertname: 'Alert1',
692680
namespace: 'ns1',
693-
component: 'comp1',
694681
severity: 'critical',
695682
alertstate: 'firing',
696683
},

web/src/components/Incidents/processAlerts.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,12 +261,15 @@ export function convertToAlerts(
261261
const firstTimestamp = paddedValues[0][0];
262262
lastTimestamp = paddedValues[paddedValues.length - 1][0];
263263

264+
// TODO Evaluate if the alert should be skipped in the case of:
265+
// - No matching incident found
266+
264267
return {
265268
alertname: alert.metric.alertname,
266269
namespace: alert.metric.namespace,
267270
severity: alert.metric.severity as Severity,
268-
component: matchingIncident.component,
269-
layer: matchingIncident.layer,
271+
component: matchingIncident?.component ?? 'Others', // Default to 'Others' if no matching incident found
272+
layer: matchingIncident?.layer ?? 'Others', // Default to 'Others' if no matching incident found
270273
name: alert.metric.name,
271274
alertstate: resolved ? 'resolved' : 'firing',
272275
values: paddedValues,

0 commit comments

Comments
 (0)