@@ -237,6 +237,7 @@ func init() {
237
237
func checkPsiCPUPressure (config * psiConfig ) result.PartialResult {
238
238
var cpuCheck result.PartialResult
239
239
_ = cpuCheck .SetDefaultState (check .OK )
240
+ cpuCheck .Output = "CPU"
240
241
241
242
psiCPU , err := psi .ReadCPUPressure ()
242
243
if err != nil {
@@ -251,7 +252,6 @@ func checkPsiCPUPressure(config *psiConfig) result.PartialResult {
251
252
}
252
253
253
254
cpuCheck .Perfdata = * psiCPU .Perfdata ()
254
- _ = cpuCheck .SetState (check .OK )
255
255
256
256
//nolint:nestif
257
257
if psiCPU .FullPresent {
@@ -293,17 +293,23 @@ func checkPsiCPUPressure(config *psiConfig) result.PartialResult {
293
293
cpuCheck .Perfdata [psi .CPUFullAvg300 ].Crit = & config .CriticalCPUAvg .Th
294
294
}
295
295
296
+ cpuFullSc := result.PartialResult {}
297
+ _ = cpuFullSc .SetDefaultState (check .OK )
298
+
296
299
if cpuCheck .Perfdata [psi .CPUFullAvg10 ].Warn .DoesViolate (psiCPU .Full .Avg10 ) ||
297
300
cpuCheck .Perfdata [psi .CPUFullAvg60 ].Warn .DoesViolate (psiCPU .Full .Avg60 ) ||
298
301
cpuCheck .Perfdata [psi .CPUFullAvg300 ].Warn .DoesViolate (psiCPU .Full .Avg300 ) {
299
- _ = cpuCheck .SetState (check .Warning )
302
+ _ = cpuFullSc .SetState (check .Warning )
300
303
}
301
304
302
305
if cpuCheck .Perfdata [psi .CPUFullAvg10 ].Crit .DoesViolate (psiCPU .Full .Avg10 ) ||
303
306
cpuCheck .Perfdata [psi .CPUFullAvg60 ].Crit .DoesViolate (psiCPU .Full .Avg60 ) ||
304
307
cpuCheck .Perfdata [psi .CPUFullAvg300 ].Crit .DoesViolate (psiCPU .Full .Avg300 ) {
305
- _ = cpuCheck .SetState (check .Critical )
308
+ _ = cpuFullSc .SetState (check .Critical )
306
309
}
310
+
311
+ cpuFullSc .Output = fmt .Sprintf ("Full - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiCPU .Full .Avg10 , psiCPU .Full .Avg60 , psiCPU .Full .Avg300 )
312
+ cpuCheck .AddSubcheck (cpuFullSc )
307
313
}
308
314
309
315
if config .WarningCPUSomeAvg10 .IsSet {
@@ -343,34 +349,35 @@ func checkPsiCPUPressure(config *psiConfig) result.PartialResult {
343
349
cpuCheck .Perfdata [psi .CPUSomeAvg300 ].Crit = & config .CriticalCPUAvg .Th
344
350
}
345
351
352
+ cpuSomeSc := result.PartialResult {}
353
+ _ = cpuSomeSc .SetDefaultState (check .OK )
354
+
346
355
if (cpuCheck .GetStatus () != check .Critical ) && (cpuCheck .GetStatus () != check .Warning ) {
347
356
if cpuCheck .Perfdata [psi .CPUSomeAvg10 ].Warn .DoesViolate (psiCPU .Some .Avg10 ) ||
348
357
cpuCheck .Perfdata [psi .CPUSomeAvg60 ].Warn .DoesViolate (psiCPU .Some .Avg60 ) ||
349
358
cpuCheck .Perfdata [psi .CPUSomeAvg300 ].Warn .DoesViolate (psiCPU .Some .Avg300 ) {
350
- _ = cpuCheck .SetState (check .Warning )
359
+ _ = cpuSomeSc .SetState (check .Warning )
351
360
}
352
361
}
353
362
354
363
if cpuCheck .GetStatus () != check .Critical {
355
364
if cpuCheck .Perfdata [psi .CPUSomeAvg10 ].Crit .DoesViolate (psiCPU .Some .Avg10 ) ||
356
365
cpuCheck .Perfdata [psi .CPUSomeAvg60 ].Crit .DoesViolate (psiCPU .Some .Avg60 ) ||
357
366
cpuCheck .Perfdata [psi .CPUSomeAvg300 ].Crit .DoesViolate (psiCPU .Some .Avg300 ) {
358
- _ = cpuCheck .SetState (check .Critical )
367
+ _ = cpuSomeSc .SetState (check .Critical )
359
368
}
360
369
}
361
370
362
- if psiCPU .FullPresent {
363
- cpuCheck .Output = fmt .Sprintf ("CPU Full Pressure - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiCPU .Full .Avg10 , psiCPU .Full .Avg60 , psiCPU .Full .Avg300 )
364
- } else {
365
- cpuCheck .Output = fmt .Sprintf ("CPU Some Pressure - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiCPU .Some .Avg10 , psiCPU .Some .Avg60 , psiCPU .Some .Avg300 )
366
- }
371
+ cpuSomeSc .Output = fmt .Sprintf ("Some - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiCPU .Some .Avg10 , psiCPU .Some .Avg60 , psiCPU .Some .Avg300 )
372
+ cpuCheck .AddSubcheck (cpuSomeSc )
367
373
368
374
return cpuCheck
369
375
}
370
376
371
377
func checkPsiIoPressure (config * psiConfig ) result.PartialResult {
372
378
var ioCheck result.PartialResult
373
379
_ = ioCheck .SetDefaultState (check .OK )
380
+ ioCheck .Output = "IO"
374
381
375
382
psiIo , err := psi .ReadIoPressure ()
376
383
if err != nil {
@@ -426,17 +433,23 @@ func checkPsiIoPressure(config *psiConfig) result.PartialResult {
426
433
ioCheck .Perfdata [psi .IoFullAvg300 ].Crit = & config .CriticalIoAvg .Th
427
434
}
428
435
436
+ ioFullSc := result.PartialResult {}
437
+ _ = ioFullSc .SetDefaultState (check .OK )
438
+
429
439
if ioCheck .Perfdata [psi .IoFullAvg10 ].Warn .DoesViolate (psiIo .Full .Avg10 ) ||
430
440
ioCheck .Perfdata [psi .IoFullAvg60 ].Warn .DoesViolate (psiIo .Full .Avg60 ) ||
431
441
ioCheck .Perfdata [psi .IoFullAvg300 ].Warn .DoesViolate (psiIo .Full .Avg300 ) {
432
- _ = ioCheck .SetState (check .Warning )
442
+ _ = ioFullSc .SetState (check .Warning )
433
443
}
434
444
435
445
if ioCheck .Perfdata [psi .IoFullAvg10 ].Crit .DoesViolate (psiIo .Full .Avg10 ) ||
436
446
ioCheck .Perfdata [psi .IoFullAvg60 ].Crit .DoesViolate (psiIo .Full .Avg60 ) ||
437
447
ioCheck .Perfdata [psi .IoFullAvg300 ].Crit .DoesViolate (psiIo .Full .Avg300 ) {
438
- _ = ioCheck .SetState (check .Critical )
448
+ _ = ioFullSc .SetState (check .Critical )
439
449
}
450
+
451
+ ioFullSc .Output = fmt .Sprintf ("Full - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiIo .Full .Avg10 , psiIo .Full .Avg60 , psiIo .Full .Avg300 )
452
+ ioCheck .AddSubcheck (ioFullSc )
440
453
}
441
454
442
455
if config .WarningIoSomeAvg10 .IsSet {
@@ -475,30 +488,35 @@ func checkPsiIoPressure(config *psiConfig) result.PartialResult {
475
488
ioCheck .Perfdata [psi .IoSomeAvg300 ].Crit = & config .CriticalIoAvg .Th
476
489
}
477
490
491
+ ioSomeSc := result.PartialResult {}
492
+ _ = ioSomeSc .SetDefaultState (check .OK )
493
+
478
494
if (ioCheck .GetStatus () != check .Critical ) && (ioCheck .GetStatus () != check .Warning ) {
479
495
if ioCheck .Perfdata [psi .IoSomeAvg10 ].Warn .DoesViolate (psiIo .Some .Avg10 ) ||
480
496
ioCheck .Perfdata [psi .IoSomeAvg60 ].Warn .DoesViolate (psiIo .Some .Avg60 ) ||
481
497
ioCheck .Perfdata [psi .IoSomeAvg300 ].Warn .DoesViolate (psiIo .Some .Avg300 ) {
482
- _ = ioCheck .SetState (check .Warning )
498
+ _ = ioSomeSc .SetState (check .Warning )
483
499
}
484
500
}
485
501
486
502
if ioCheck .GetStatus () != check .Critical {
487
503
if ioCheck .Perfdata [psi .IoSomeAvg10 ].Crit .DoesViolate (psiIo .Some .Avg10 ) ||
488
504
ioCheck .Perfdata [psi .IoSomeAvg60 ].Crit .DoesViolate (psiIo .Some .Avg60 ) ||
489
505
ioCheck .Perfdata [psi .IoSomeAvg300 ].Crit .DoesViolate (psiIo .Some .Avg300 ) {
490
- _ = ioCheck .SetState (check .Critical )
506
+ _ = ioSomeSc .SetState (check .Critical )
491
507
}
492
508
}
493
509
494
- ioCheck .Output = fmt .Sprintf ("IO Pressure - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiIo .Full .Avg10 , psiIo .Full .Avg60 , psiIo .Full .Avg300 )
510
+ ioSomeSc .Output = fmt .Sprintf ("Some - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiIo .Some .Avg10 , psiIo .Some .Avg60 , psiIo .Some .Avg300 )
511
+ ioCheck .AddSubcheck (ioSomeSc )
495
512
496
513
return ioCheck
497
514
}
498
515
499
516
func checkPsiMemoryPressure (config * psiConfig ) result.PartialResult {
500
517
var memoryCheck result.PartialResult
501
518
_ = memoryCheck .SetDefaultState (check .OK )
519
+ memoryCheck .Output = "Memory"
502
520
503
521
psiMemory , err := psi .ReadMemoryPressure ()
504
522
if err != nil {
@@ -554,17 +572,23 @@ func checkPsiMemoryPressure(config *psiConfig) result.PartialResult {
554
572
memoryCheck .Perfdata [psi .MemoryFullAvg300 ].Crit = & config .CriticalMemoryAvg .Th
555
573
}
556
574
575
+ memoryFullSc := result.PartialResult {}
576
+ _ = memoryFullSc .SetDefaultState (check .OK )
577
+
557
578
if memoryCheck .Perfdata [psi .MemoryFullAvg10 ].Warn .DoesViolate (psiMemory .Full .Avg10 ) ||
558
579
memoryCheck .Perfdata [psi .MemoryFullAvg60 ].Warn .DoesViolate (psiMemory .Full .Avg60 ) ||
559
580
memoryCheck .Perfdata [psi .MemoryFullAvg300 ].Warn .DoesViolate (psiMemory .Full .Avg300 ) {
560
- _ = memoryCheck .SetState (check .Warning )
581
+ _ = memoryFullSc .SetState (check .Warning )
561
582
}
562
583
563
584
if memoryCheck .Perfdata [psi .MemoryFullAvg10 ].Crit .DoesViolate (psiMemory .Full .Avg10 ) ||
564
585
memoryCheck .Perfdata [psi .MemoryFullAvg60 ].Crit .DoesViolate (psiMemory .Full .Avg60 ) ||
565
586
memoryCheck .Perfdata [psi .MemoryFullAvg300 ].Crit .DoesViolate (psiMemory .Full .Avg300 ) {
566
- _ = memoryCheck .SetState (check .Critical )
587
+ _ = memoryFullSc .SetState (check .Critical )
567
588
}
589
+
590
+ memoryFullSc .Output = fmt .Sprintf ("Full - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiMemory .Full .Avg10 , psiMemory .Full .Avg60 , psiMemory .Full .Avg300 )
591
+ memoryCheck .AddSubcheck (memoryFullSc )
568
592
}
569
593
570
594
if config .WarningMemorySomeAvg10 .IsSet {
@@ -604,23 +628,27 @@ func checkPsiMemoryPressure(config *psiConfig) result.PartialResult {
604
628
memoryCheck .Perfdata [psi .MemorySomeAvg300 ].Crit = & config .CriticalMemoryAvg .Th
605
629
}
606
630
631
+ memorySomeSc := result.PartialResult {}
632
+ _ = memorySomeSc .SetDefaultState (check .OK )
633
+
607
634
if (memoryCheck .GetStatus () != check .Critical ) && (memoryCheck .GetStatus () != check .Warning ) {
608
635
if memoryCheck .Perfdata [psi .MemorySomeAvg10 ].Warn .DoesViolate (psiMemory .Some .Avg10 ) ||
609
636
memoryCheck .Perfdata [psi .MemorySomeAvg60 ].Warn .DoesViolate (psiMemory .Some .Avg60 ) ||
610
637
memoryCheck .Perfdata [psi .MemorySomeAvg300 ].Warn .DoesViolate (psiMemory .Some .Avg300 ) {
611
- _ = memoryCheck .SetState (check .Warning )
638
+ _ = memorySomeSc .SetState (check .Warning )
612
639
}
613
640
}
614
641
615
642
if memoryCheck .GetStatus () != check .Critical {
616
643
if memoryCheck .Perfdata [psi .MemorySomeAvg10 ].Crit .DoesViolate (psiMemory .Some .Avg10 ) ||
617
644
memoryCheck .Perfdata [psi .MemorySomeAvg60 ].Crit .DoesViolate (psiMemory .Some .Avg60 ) ||
618
645
memoryCheck .Perfdata [psi .MemorySomeAvg300 ].Crit .DoesViolate (psiMemory .Some .Avg300 ) {
619
- _ = memoryCheck .SetState (check .Critical )
646
+ _ = memorySomeSc .SetState (check .Critical )
620
647
}
621
648
}
622
649
623
- memoryCheck .Output = fmt .Sprintf ("Memory Pressure - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiMemory .Full .Avg10 , psiMemory .Full .Avg60 , psiMemory .Full .Avg300 )
650
+ memorySomeSc .Output = fmt .Sprintf ("Some - Avg10: %.2f, Avg60: %.2f, Avg300: %.2f" , psiMemory .Some .Avg10 , psiMemory .Some .Avg60 , psiMemory .Some .Avg300 )
651
+ memoryCheck .AddSubcheck (memorySomeSc )
624
652
625
653
return memoryCheck
626
654
}
0 commit comments