Other Routines

Statistic routines etc

Getting the Full State Sync Statistic

The following function is used to evaluate syncing performance during the full state synchronizing

getStatFullSync(): SyncStat | undefined

The statistic within that function build during the full state sync only


SyncStat object containing different performance indicators


const stat = zkClient.getStatFullSync();
if (stat) {
   console.log(`Full state sync: ${stat.totalTime / 1000} sec`);
   console.log(`  avg speed:    ${stat.timePerTx.toFixed(1)} ms/tx`);
   console.log(`  total tx:     ${stat.txCount}`);
   console.log(`  cold-storage: ${stat.cdnTxCnt} txs`);
   console.log(`  memo items:   ${stat.decryptedLeafs}`);

Getting Average Sync Time

To retrieve average time spent on processing one transaction in the local state you can use the following method

getAverageTimePerTx(): number | undefined

The estimate can be inaccurate because the regular sync (opposite with the full one) fetches just few latest transactions so overhead can affect the average time


average time per transaction in milliseconds or undefined if there is no statistic collected


const avg = zkClient.getAverageTimePerTx();
console.log(`Average sync time: ${avg ?? -1} ms/tx`)
// output: Average sync time: 0.8 ms/tx

Last updated