diff --git a/graft/coreth/plugin/evm/vm.go b/graft/coreth/plugin/evm/vm.go index 285a54f8df41..10fb3b7e0539 100644 --- a/graft/coreth/plugin/evm/vm.go +++ b/graft/coreth/plugin/evm/vm.go @@ -513,12 +513,9 @@ func (vm *VM) initializeMetrics() error { return err } - if vm.config.MetricsExpensiveEnabled && vm.config.StateScheme == customrawdb.FirewoodScheme { - if err := ffi.StartMetrics(); err != nil { - return fmt.Errorf("failed to start firewood metrics collection: %w", err) - } - if err := vm.ctx.Metrics.Register("firewood", ffi.Gatherer{}); err != nil { - return fmt.Errorf("failed to register firewood metrics: %w", err) + if vm.config.StateScheme == customrawdb.FirewoodScheme { + if err := vm.ctx.Metrics.Register(customrawdb.FirewoodScheme, ffi.Gatherer{}); err != nil { + return fmt.Errorf("registering firewood metrics: %w", err) } } return vm.ctx.Metrics.Register(sdkMetricsPrefix, vm.sdkMetrics) diff --git a/graft/evm/firewood/metrics.go b/graft/evm/firewood/metrics.go new file mode 100644 index 000000000000..b30c0c7bd66f --- /dev/null +++ b/graft/evm/firewood/metrics.go @@ -0,0 +1,15 @@ +// Copyright (C) 2019-2026, Ava Labs, Inc. All rights reserved. +// See the file LICENSE for licensing terms. + +package firewood + +import ( + "github.com/ava-labs/firewood-go-ethhash/ffi" + "github.com/ava-labs/libevm/log" +) + +func init() { + if err := ffi.StartMetrics(); err != nil { + log.Crit("starting firewood metrics", "error", err) + } +} diff --git a/graft/subnet-evm/plugin/evm/vm.go b/graft/subnet-evm/plugin/evm/vm.go index a3e347d58231..0cc24499f658 100644 --- a/graft/subnet-evm/plugin/evm/vm.go +++ b/graft/subnet-evm/plugin/evm/vm.go @@ -584,12 +584,9 @@ func (vm *VM) initializeMetrics() error { return err } - if vm.config.MetricsExpensiveEnabled && vm.config.StateScheme == customrawdb.FirewoodScheme { - if err := ffi.StartMetrics(); err != nil { - return fmt.Errorf("failed to start firewood metrics collection: %w", err) - } - if err := vm.ctx.Metrics.Register("firewood", ffi.Gatherer{}); err != nil { - return fmt.Errorf("failed to register firewood metrics: %w", err) + if vm.config.StateScheme == customrawdb.FirewoodScheme { + if err := vm.ctx.Metrics.Register(customrawdb.FirewoodScheme, ffi.Gatherer{}); err != nil { + return fmt.Errorf("registering firewood metrics: %w", err) } } return vm.ctx.Metrics.Register(sdkMetricsPrefix, vm.sdkMetrics)