diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index 41d165a423..075abcd83f 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -822,6 +822,7 @@ func (api *BlockChainAPI) Call(ctx context.Context, args TransactionArgs, blockN if err != nil { return nil, err } + ethCallGasUsedHist.Update(int64(result.UsedGas)) if errors.Is(result.Err, vm.ErrExecutionReverted) { return nil, newRevertError(result.Revert()) } diff --git a/internal/ethapi/metrics.go b/internal/ethapi/metrics.go new file mode 100644 index 0000000000..ae57a17b3a --- /dev/null +++ b/internal/ethapi/metrics.go @@ -0,0 +1,7 @@ +package ethapi + +import "github.com/ethereum/go-ethereum/metrics" + +var ( + ethCallGasUsedHist = metrics.NewRegisteredHistogram("rpc/gas_used/eth_call", nil, metrics.NewExpDecaySample(1028, 0.015)) +)