Skip to content

Commit

Permalink
chore: add metric & log for blobTx;
Browse files Browse the repository at this point in the history
  • Loading branch information
galaio committed Apr 26, 2024
1 parent 7cab9c6 commit c4e48f8
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
8 changes: 7 additions & 1 deletion core/blockchain_insert.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,18 @@ func (st *insertStats) report(chain []*types.Block, index int, snapDiffItems, sn
for _, block := range chain[st.lastIndex : index+1] {
txs += len(block.Transactions())
}
var blobs int
for _, block := range chain[st.lastIndex : index+1] {
for _, sidecar := range block.Sidecars() {
blobs += len(sidecar.Blobs)
}
}
end := chain[index]

// Assemble the log context and send it to the logger
context := []interface{}{
"number", end.Number(), "hash", end.Hash(), "miner", end.Coinbase(),
"blocks", st.processed, "txs", txs, "mgas", float64(st.usedGas) / 1000000,
"blocks", st.processed, "txs", txs, "blobs", blobs, "mgas", float64(st.usedGas) / 1000000,
"elapsed", common.PrettyDuration(elapsed), "mgasps", float64(st.usedGas) * 1000 / float64(elapsed),
}
if timestamp := time.Unix(int64(end.Time()), 0); time.Since(timestamp) > time.Minute {
Expand Down
10 changes: 10 additions & 0 deletions core/data_availability.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import (
"crypto/sha256"
"errors"
"fmt"
"github.com/ethereum/go-ethereum/metrics"

Check failure on line 7 in core/data_availability.go

View workflow job for this annotation

GitHub Actions / golang-lint (1.21.x, ubuntu-latest)

File is not `goimports`-ed (goimports)
"sync"
"time"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/gopool"
Expand All @@ -14,6 +16,10 @@ import (
"github.com/ethereum/go-ethereum/params"
)

var (
daCheckTimer = metrics.NewRegisteredTimer("chain/dacheck", nil)
)

// validateBlobSidecar it is same as validateBlobSidecar in core/txpool/validation.go
func validateBlobSidecar(hashes []common.Hash, sidecar *types.BlobSidecar) error {
if len(sidecar.Blobs) != len(hashes) {
Expand Down Expand Up @@ -46,6 +52,10 @@ func validateBlobSidecar(hashes []common.Hash, sidecar *types.BlobSidecar) error

// IsDataAvailable it checks that the blobTx block has available blob data
func IsDataAvailable(chain consensus.ChainHeaderReader, block *types.Block) (err error) {
defer func(start time.Time) {
daCheckTimer.Update(time.Since(start))
}(time.Now())

// refer logic in ValidateBody
if !chain.Config().IsCancun(block.Number(), block.Time()) {
if block.Sidecars() != nil {
Expand Down
3 changes: 2 additions & 1 deletion miner/worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ func (env *environment) copy() *environment {
if env.sidecars != nil {
cpy.sidecars = make(types.BlobSidecars, len(env.sidecars))
copy(cpy.sidecars, env.sidecars)
cpy.blobs = env.blobs
}

return cpy
Expand Down Expand Up @@ -1420,7 +1421,7 @@ func (w *worker) commit(env *environment, interval func(), update bool, start ti
select {
case w.taskCh <- &task{receipts: receipts, state: env.state, block: block, createdAt: time.Now()}:
log.Info("Commit new sealing work", "number", block.Number(), "sealhash", w.engine.SealHash(block.Header()),
"txs", env.tcount, "gas", block.GasUsed(), "fees", feesInEther, "elapsed", common.PrettyDuration(time.Since(start)))
"txs", env.tcount, "blobs", env.blobs, "gas", block.GasUsed(), "fees", feesInEther, "elapsed", common.PrettyDuration(time.Since(start)))

case <-w.exitCh:
log.Info("Worker has exited")
Expand Down

0 comments on commit c4e48f8

Please sign in to comment.