Documentation ¶
Index ¶
- Constants
- type CacheMetrics
- type EventMetrics
- type Metrics
- func (m *Metrics) CountSequencedTxs(count int)
- func (m *Metrics) RecordDerivationError()
- func (m *Metrics) RecordInfo(version string)
- func (m *Metrics) RecordL1Ref(name string, ref eth.L1BlockRef)
- func (m *Metrics) RecordL1ReorgDepth(d uint64)
- func (m *Metrics) RecordL2Ref(name string, ref eth.L2BlockRef)
- func (m *Metrics) RecordPipelineReset()
- func (m *Metrics) RecordPublishingError()
- func (m *Metrics) RecordRPCClientRequest(method string) func(err error)
- func (m *Metrics) RecordRPCClientResponse(method string, err error)
- func (m *Metrics) RecordRPCServerRequest(method string) func()
- func (m *Metrics) RecordReceivedUnsafePayload(payload *eth.ExecutionPayload)
- func (m *Metrics) RecordSequencingError()
- func (m *Metrics) RecordUnsafePayloadsBuffer(length uint64, memSize uint64, next eth.BlockID)
- func (m *Metrics) RecordUp()
- func (m *Metrics) Serve(ctx context.Context, hostname string, port int) error
- func (m *Metrics) SetDerivationIdle(status bool)
Constants ¶
const ( Namespace = "op_node" RPCServerSubsystem = "rpc_server" RPCClientSubsystem = "rpc_client" BatchMethod = "<batch>" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheMetrics ¶
type CacheMetrics struct { SizeVec *prometheus.GaugeVec GetVec *prometheus.CounterVec AddVec *prometheus.CounterVec }
CacheMetrics implements the Metrics interface in the caching package, implementing reusable metrics for different caches.
func NewCacheMetrics ¶
func NewCacheMetrics(registry prometheus.Registerer, ns string, name string, displayName string) *CacheMetrics
func (*CacheMetrics) CacheAdd ¶
func (m *CacheMetrics) CacheAdd(typeLabel string, typeCacheSize int, evicted bool)
CacheAdd meters the addition of an item with a given type to the cache, metering the change of the cache size of that type, and indicating a corresponding eviction if any.
func (*CacheMetrics) CacheGet ¶
func (m *CacheMetrics) CacheGet(typeLabel string, hit bool)
CacheGet meters a lookup of an item with a given type to the cache and indicating if the lookup was a hit.
type EventMetrics ¶
type EventMetrics struct { Total prometheus.Counter LastTime prometheus.Gauge }
func NewEventMetrics ¶
func NewEventMetrics(registry prometheus.Registerer, ns string, name string, displayName string) *EventMetrics
func (*EventMetrics) RecordEvent ¶
func (e *EventMetrics) RecordEvent()
type Metrics ¶
type Metrics struct { Info *prometheus.GaugeVec Up prometheus.Gauge RPCServerRequestsTotal *prometheus.CounterVec RPCServerRequestDurationSeconds *prometheus.HistogramVec RPCClientRequestsTotal *prometheus.CounterVec RPCClientRequestDurationSeconds *prometheus.HistogramVec RPCClientResponsesTotal *prometheus.CounterVec L1SourceCache *CacheMetrics L2SourceCache *CacheMetrics DerivationIdle prometheus.Gauge PipelineResets *EventMetrics UnsafePayloads *EventMetrics DerivationErrors *EventMetrics SequencingErrors *EventMetrics PublishingErrors *EventMetrics UnsafePayloadsBufferLen prometheus.Gauge UnsafePayloadsBufferMemSize prometheus.Gauge RefsNumber *prometheus.GaugeVec RefsTime *prometheus.GaugeVec RefsHash *prometheus.GaugeVec RefsSeqNr *prometheus.GaugeVec RefsLatency *prometheus.GaugeVec // hash of the last seen block per name, so we don't reduce/increase latency on updates of the same data, // and only count the first occurrence LatencySeen map[string]common.Hash L1ReorgDepth prometheus.Histogram TransactionsSequencedTotal prometheus.Counter // contains filtered or unexported fields }
func NewMetrics ¶
func (*Metrics) CountSequencedTxs ¶
func (*Metrics) RecordDerivationError ¶
func (m *Metrics) RecordDerivationError()
func (*Metrics) RecordInfo ¶
RecordInfo sets a pseudo-metric that contains versioning and config info for the opnode.
func (*Metrics) RecordL1Ref ¶
func (m *Metrics) RecordL1Ref(name string, ref eth.L1BlockRef)
func (*Metrics) RecordL1ReorgDepth ¶
func (*Metrics) RecordL2Ref ¶
func (m *Metrics) RecordL2Ref(name string, ref eth.L2BlockRef)
func (*Metrics) RecordPipelineReset ¶
func (m *Metrics) RecordPipelineReset()
func (*Metrics) RecordPublishingError ¶
func (m *Metrics) RecordPublishingError()
func (*Metrics) RecordRPCClientRequest ¶
RecordRPCClientRequest is a helper method to record an RPC client request. It bumps the requests metric, tracks the response duration, and records the response's error code.
func (*Metrics) RecordRPCClientResponse ¶
RecordRPCClientResponse records an RPC response. It will convert the passed-in error into something metrics friendly. Nil errors get converted into <nil>, RPC errors are converted into rpc_<error code>, HTTP errors are converted into http_<status code>, and everything else is converted into <unknown>.
func (*Metrics) RecordRPCServerRequest ¶
RecordRPCServerRequest is a helper method to record an incoming RPC call to the opnode's RPC server. It bumps the requests metric, and tracks how long it takes to serve a response.
func (*Metrics) RecordReceivedUnsafePayload ¶
func (m *Metrics) RecordReceivedUnsafePayload(payload *eth.ExecutionPayload)
func (*Metrics) RecordSequencingError ¶
func (m *Metrics) RecordSequencingError()
func (*Metrics) RecordUnsafePayloadsBuffer ¶
func (*Metrics) Serve ¶
Serve starts the metrics server on the given hostname and port. The server will be closed when the passed-in context is cancelled.