Gauge metrics are created with metrics.NewRegisteredGauge and it fails silently if metric name already exists. The Meter metrics work despite that metrics.NewRegisteredMeter is used, because it calls metrics.GetOrRegisterMeter internally.
This PR fixes the issue by using metrics.GetOrRegister* functions instead.
Pebble gauge metrics are stuck when twice opening same database (same metrics namespace). That happens in
openInitializeChainDb
: https://github.com/OffchainLabs/nitro/blob/e6afd28add5c9ff8be5952e3fe546d70015841af/cmd/nitro/init.go#L175-L181Gauge metrics are created with
metrics.NewRegisteredGauge
and it fails silently if metric name already exists. The Meter metrics work despite thatmetrics.NewRegisteredMeter
is used, because it callsmetrics.GetOrRegisterMeter
internally.This PR fixes the issue by using
metrics.GetOrRegister*
functions instead.