@@ -18,8 +18,10 @@ use graph_store_postgres::{
18
18
command_support:: { Phase , PruneTableState } ,
19
19
ConnectionPool , Store ,
20
20
} ;
21
+ use termcolor:: Color ;
21
22
22
23
use crate :: manager:: {
24
+ color:: Terminal ,
23
25
commands:: stats:: show_stats,
24
26
deployment:: DeploymentSearch ,
25
27
fmt:: { self , MapOrNull as _} ,
@@ -329,6 +331,8 @@ pub async fn status(
329
331
}
330
332
}
331
333
334
+ let mut term = Terminal :: new ( ) ;
335
+
332
336
let deployment = search. locate_unique ( & primary_pool) ?;
333
337
334
338
let viewer = store. subgraph_store ( ) . prune_viewer ( & deployment) . await ?;
@@ -353,37 +357,43 @@ pub async fn status(
353
357
"No information about prune run #{run} found for deployment {deployment}.\n {runs}"
354
358
) ) ;
355
359
} ;
356
- println ! ( "prune {deployment} (run #{run})" ) ;
360
+ writeln ! ( term , "prune {deployment} (run #{run})" ) ? ;
357
361
358
362
if let ( Some ( errored_at) , Some ( error) ) = ( & state. errored_at , & state. error ) {
359
- println ! ( " error: {error}" ) ;
360
- println ! ( " at: {}" , fmt:: date_time( errored_at) ) ;
363
+ term. with_color ( Color :: Red , |term| {
364
+ writeln ! ( term, " error: {error}" ) ?;
365
+ writeln ! ( term, " at: {}" , fmt:: date_time( errored_at) )
366
+ } ) ?;
361
367
}
362
- println ! (
368
+ writeln ! (
369
+ term,
363
370
" range: {} - {} ({} blocks, should keep {} blocks)" ,
364
371
state. first_block,
365
372
state. latest_block,
366
373
state. latest_block - state. first_block,
367
374
state. history_blocks
368
- ) ;
369
- println ! ( " started: {}" , fmt:: date_time( & state. started_at) ) ;
375
+ ) ? ;
376
+ writeln ! ( term , " started: {}" , fmt:: date_time( & state. started_at) ) ? ;
370
377
match & state. finished_at {
371
- Some ( finished_at) => println ! ( " finished: {}" , fmt:: date_time( finished_at) ) ,
372
- None => println ! ( " finished: still running" ) ,
378
+ Some ( finished_at) => writeln ! ( term , " finished: {}" , fmt:: date_time( finished_at) ) ? ,
379
+ None => writeln ! ( term , " finished: still running" ) ? ,
373
380
}
374
- println ! (
381
+ writeln ! (
382
+ term,
375
383
" duration: {}" ,
376
384
fmt:: duration( & state. started_at, & state. finished_at)
377
- ) ;
385
+ ) ? ;
378
386
379
- println ! (
387
+ writeln ! (
388
+ term,
380
389
"\n {:^30} | {:^22} | {:^8} | {:^11} | {:^8}" ,
381
390
"table" , "status" , "rows" , "batch_size" , "duration"
382
- ) ;
383
- println ! (
391
+ ) ?;
392
+ writeln ! (
393
+ term,
384
394
"{:-^30}-+-{:-^22}-+-{:-^8}-+-{:-^11}-+-{:-^8}" ,
385
395
"" , "" , "" , "" , ""
386
- ) ;
396
+ ) ? ;
387
397
for ts in table_states {
388
398
#[ allow( unused_variables) ]
389
399
let PruneTableState {
@@ -416,10 +426,10 @@ pub async fn status(
416
426
let batch_size = batch_size. map_or_null ( |b| b. to_string ( ) ) ;
417
427
let duration = started_at. map_or_null ( |s| fmt:: duration ( & s, & finished_at) ) ;
418
428
let phase = phase. as_str ( ) ;
419
- println ! (
429
+ writeln ! ( term ,
420
430
"{table_name:<30} | {:<15} {complete:>6} | {rows:>8} | {batch_size:>11} | {duration:>8}" ,
421
431
format!( "{strategy}/{phase}" )
422
- ) ;
432
+ ) ? ;
423
433
}
424
434
Ok ( ( ) )
425
435
}
0 commit comments