@@ -4,15 +4,18 @@ import * as Sentry from '@sentry/angular';
44import  {  NodesOverviewBlock ,  NodesOverviewNodeBlockStatus  }  from  '@shared/types/nodes/dashboard/nodes-overview-block.type' ; 
55import  {  lastItem ,  ONE_BILLION  }  from  '@openmina/shared' ; 
66import  {  RustService  }  from  '@core/services/rust.service' ; 
7+ import  {  getElapsedTime  }  from  '@shared/helpers/date.helper' ; 
78
89@Injectable ( { 
910  providedIn : 'root' , 
1011} ) 
1112export  class  SentryService  { 
1213
14+   private  readonly  rustService : RustService  =  inject ( RustService ) ; 
1315  private  ledgerIsSynced : boolean  =  false ; 
1416  private  blockIsSynced : boolean  =  false ; 
15-   private  rustService : RustService  =  inject ( RustService ) ; 
17+   private  ledgerSyncedTime : number ; 
18+   private  blockSyncedTime : number ; 
1619
1720  updateLedgerSyncStatus ( ledger : NodesOverviewLedger ) : void   { 
1821    if  ( this . ledgerIsSynced )  { 
@@ -40,8 +43,9 @@ export class SentryService {
4043      } ; 
4144
4245      const  syncedIn  =  Math . round ( ( ledger . rootStaged . staged . reconstructEnd  -  ledger . stakingEpoch . snarked . fetchHashesStart )  /  ONE_BILLION ) ; 
46+       this . ledgerSyncedTime  =  syncedIn ; 
4347
44-       Sentry . captureMessage ( `Ledger synced in ${ syncedIn }  s` ,  { 
48+       Sentry . captureMessage ( `Ledger synced in ${ getElapsedTime ( syncedIn ) }  s` ,  { 
4549        level : 'info' , 
4650        tags : {  type : 'webnode' ,  subType : 'sync.ledger'  } , 
4751        contexts : {  ledger : syncDetails  } , 
@@ -60,11 +64,20 @@ export class SentryService {
6064      blocks  =  blocks . slice ( 1 ) ; 
6165      const  bestTipBlock  =  blocks [ 0 ] . height ; 
6266      const  root  =  lastItem ( blocks ) . height ; 
63-       Sentry . captureMessage ( `Last 290 blocks synced in ${ Math . round ( ( Date . now ( )  -  startTime )  /  1000 ) }  s` ,  { 
67+       this . blockSyncedTime  =  Math . round ( ( Date . now ( )  -  startTime )  /  1000 ) ; 
68+       Sentry . captureMessage ( `Last 290 blocks synced in ${ getElapsedTime ( this . blockSyncedTime ) }  s` ,  { 
6469        level : 'info' , 
6570        tags : {  type : 'webnode' ,  subType : 'sync.block'  } , 
6671        contexts : {  blocks : {  bestTipBlock,  root }  } , 
6772      } ) ; 
73+ 
74+       const  syncTotal  =  this . ledgerSyncedTime  +  this . blockSyncedTime ; 
75+       setTimeout ( ( )  =>  { 
76+         Sentry . captureMessage ( `Web Node Synced in ${ getElapsedTime ( syncTotal ) }  ` ,  { 
77+           level : 'info' , 
78+           tags : {  type : 'webnode' ,  subType : 'sync.total'  } , 
79+         } ) ; 
80+       } ,  2000 ) ; 
6881    } 
6982  } 
7083} 
0 commit comments