@@ -293,6 +293,7 @@ impl Agent {
293
293
let mut previous_best_block_number = 0 ;
294
294
let mut count_of_no_block_update = 0usize ;
295
295
let mut disk_usage_alert_sent = false ;
296
+ let mut memory_usage_alert_sent = false ;
296
297
loop {
297
298
ctrace ! ( "Agent-{} update" , self . id) ;
298
299
let update_result = self . update ( ) ?;
@@ -313,7 +314,7 @@ impl Agent {
313
314
number_of_peers,
314
315
best_block_number,
315
316
disk_usage,
316
- ..
317
+ memory_usage ,
317
318
} ) = update_result
318
319
{
319
320
let node_name = node_name. expect ( "Updated" ) ;
@@ -347,13 +348,25 @@ impl Agent {
347
348
if disk_usage. total != 0 && disk_usage. available < ONE_GB {
348
349
self . noti . warn (
349
350
& network_id,
350
- & format ! ( "{} has only {} MB free space." , node_name, disk_usage. available / 1_000_000 ) ,
351
+ & format ! ( "{} has only {} MB free disk space." , node_name, disk_usage. available / 1_000_000 ) ,
351
352
) ;
352
353
disk_usage_alert_sent = true ;
353
354
}
354
355
} else if ONE_GB < disk_usage. available {
355
356
disk_usage_alert_sent = false ;
356
357
}
358
+
359
+ if !memory_usage_alert_sent {
360
+ if memory_usage. total != 0 && memory_usage. available < ( ONE_GB / 4 ) {
361
+ self . noti . error (
362
+ & network_id,
363
+ & format ! ( "{} has only {} MB free memory." , node_name, memory_usage. available / 1_000_000 ) ,
364
+ ) ;
365
+ memory_usage_alert_sent = true ;
366
+ } else if ( ONE_GB / 4 ) < memory_usage. available {
367
+ memory_usage_alert_sent = false ;
368
+ }
369
+ }
357
370
}
358
371
thread:: sleep ( Duration :: new ( 10 , 0 ) ) ;
359
372
}
0 commit comments