Skip to content

Commit 38ad2ad

Browse files
haardikk21geoknee
andauthored
miner: add miner/maxDATxSize and miner/maxDABlockSize gauge metrics and update when setMaxDASize is called (#606)
* add guages and update when setMaxDASize is called * fix nil pointer deref * tidy up * spellcheck --------- Co-authored-by: geoknee <[email protected]>
1 parent e605d07 commit 38ad2ad

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

miner/miner.go

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,15 @@ import (
3333
"github.com/ethereum/go-ethereum/core/types"
3434
"github.com/ethereum/go-ethereum/core/types/interoptypes"
3535
"github.com/ethereum/go-ethereum/eth/tracers"
36+
"github.com/ethereum/go-ethereum/metrics"
3637
"github.com/ethereum/go-ethereum/params"
3738
)
3839

40+
var (
41+
maxDATxSizeGauge = metrics.NewRegisteredGauge("miner/maxDATxSize", nil)
42+
maxDABlockSizeGauge = metrics.NewRegisteredGauge("miner/maxDABlockSize", nil)
43+
)
44+
3945
// Backend wraps all methods required for mining. Only full node is capable
4046
// to offer all the functions here.
4147
type Backend interface {
@@ -175,18 +181,26 @@ func (miner *Miner) SetGasTip(tip *big.Int) error {
175181

176182
// SetMaxDASize sets the maximum data availability size currently allowed for inclusion. 0 means no maximum.
177183
func (miner *Miner) SetMaxDASize(maxTxSize, maxBlockSize *big.Int) {
178-
miner.confMu.Lock()
179-
if maxTxSize == nil || maxTxSize.BitLen() == 0 {
180-
miner.config.MaxDATxSize = nil
181-
} else {
182-
miner.config.MaxDATxSize = new(big.Int).Set(maxTxSize)
184+
convertZeroToNil := func(v *big.Int) *big.Int {
185+
if v != nil && v.BitLen() == 0 {
186+
return nil
187+
}
188+
return v
183189
}
184-
if maxBlockSize == nil || maxBlockSize.BitLen() == 0 {
185-
miner.config.MaxDABlockSize = nil
186-
} else {
187-
miner.config.MaxDABlockSize = new(big.Int).Set(maxBlockSize)
190+
convertNilToZero := func(v *big.Int) int64 {
191+
if v == nil {
192+
return 0
193+
}
194+
return v.Int64()
188195
}
196+
197+
miner.confMu.Lock()
198+
miner.config.MaxDATxSize = convertZeroToNil(maxTxSize)
199+
miner.config.MaxDABlockSize = convertZeroToNil(maxBlockSize)
189200
miner.confMu.Unlock()
201+
202+
maxDATxSizeGauge.Update(convertNilToZero(maxTxSize))
203+
maxDABlockSizeGauge.Update(convertNilToZero(maxBlockSize))
190204
}
191205

192206
// BuildPayload builds the payload according to the provided parameters.

0 commit comments

Comments
 (0)