Change stats reporting to account for state block

pull/69/head
Rongjian Lan 6 years ago
parent ea6b76e1b3
commit 17fe3fd35a
  1. 2
      consensus/consensus_leader.go
  2. 19
      node/node_handler.go

@ -404,6 +404,7 @@ func (consensus *Consensus) verifyResponse(commitments *map[uint16]kyber.Point,
}
func (consensus *Consensus) reportMetrics(block blockchain.Block) {
if !block.IsStateBlock() { // Skip state block stats
endTime := time.Now()
timeElapsed := endTime.Sub(startTime)
numOfTxs := block.NumTransactions
@ -439,4 +440,5 @@ func (consensus *Consensus) reportMetrics(block blockchain.Block) {
if err == nil {
defer rsp.Body.Close()
}
}
}

@ -21,7 +21,7 @@ const (
// The max number of transaction per a block.
MaxNumberOfTransactionsPerBlock = 3000
// The number of blocks allowed before generating state block
NumBlocksBeforeStateBlock = 10
NumBlocksBeforeStateBlock = 100
)
// NodeHandler handles a new incoming connection.
@ -105,25 +105,38 @@ func (node *Node) NodeHandler(conn net.Conn) {
avgBlockSizeInBytes := 0
txCount := 0
blockCount := 0
totalTxCount := 0
totalBlockCount := 0
avgTxSize := 0
for _, block := range node.blockchain.Blocks {
if block.IsStateBlock() {
totalTxCount += int(block.State.NumTransactions)
totalBlockCount += int(block.State.NumBlocks)
} else {
byteBuffer := bytes.NewBuffer([]byte{})
encoder := gob.NewEncoder(byteBuffer)
encoder.Encode(block)
avgBlockSizeInBytes += len(byteBuffer.Bytes())
txCount += len(block.Transactions)
blockCount += 1
totalTxCount += len(block.TransactionIds)
totalBlockCount += 1
byteBuffer = bytes.NewBuffer([]byte{})
encoder = gob.NewEncoder(byteBuffer)
encoder.Encode(block.Transactions)
avgTxSize += len(byteBuffer.Bytes())
}
avgBlockSizeInBytes = avgBlockSizeInBytes / len(node.blockchain.Blocks)
}
if blockCount != 0 {
avgBlockSizeInBytes = avgBlockSizeInBytes / blockCount
avgTxSize = avgTxSize / txCount
}
node.log.Debug("Blockchain Report", "numBlocks", len(node.blockchain.Blocks), "avgBlockSize", avgBlockSizeInBytes, "numTxs", txCount, "avgTxSzie", avgTxSize)
node.log.Debug("Blockchain Report", "totalNumBlocks", totalBlockCount, "avgBlockSizeInCurrentEpoch", avgBlockSizeInBytes, "totalNumTxs", totalTxCount, "avgTxSzieInCurrentEpoch", avgTxSize)
os.Exit(0)
}

Loading…
Cancel
Save