Skip to content

Metrics

Overview

Firedancer maintains many internal performance counters for use by developers and monitoring tools, and exposes them via a Prometheus HTTP endpoint:

toml
[tiles.metric]
    prometheus_listen_port = 7999
sh
$ curl http://localhost:7999/metrics
# HELP tile_pid The process ID of the tile.
# TYPE tile_pid gauge
tile_pid{kind="net",kind_id="0"} 1527373
tile_pid{kind="quic",kind_id="0"} 1527370
tile_pid{kind="quic",kind_id="1"} 1527371
tile_pid{kind="verify",kind_id="0"} 1527369
tile_pid{kind="verify",kind_id="1"} 1527374
tile_pid{kind="dedup",kind_id="0"} 1527365
...

WARNING

Metrics are currently only provided for developer and diagnostic use, and the endpoint or data provided may break or change in incompatible ways at any time.

There are three metric types reported by Firedancer, following the Prometheus data model:

  • counter — A cumulative metric representing a monotonically increasing counter.
  • gauge — A single numerical value that can go arbitrarily up or down.
  • histogram — Samples observations like packet sizes and counts them in buckets.

There are some metrics reported for links, which are data queues between tiles. Links are single-producer multi-consumer, so the same link (identified by a link_kind and link_kind_id) will potentially have multiple consumers reporting the metric, one per consumer (identified by a kind and kind_id).

sh
# HELP link_published_size_bytes The total number of bytes read by the link consumer.
# TYPE link_published_size_bytes counter
link_published_size_bytes{kind="net",kind_id="0",link_kind="quic_net",link_kind_id="0"} 0
link_published_size_bytes{kind="net",kind_id="0",link_kind="shred_net",link_kind_id="0"} 0

These link related metrics have four labels, which are to identify the link the metric is for:

  • kind — The name of the tile consuming from the link.
  • kind_id — The tile index of the tile which is consuming from the link.
  • link_kind — The name of the link being consumed.
  • link_kind_id — The link index of the link which is being consumed.
MetricTypeDescription
link_​frag_​consumedcounterFragments consumed by the link reader
link_​frag_​consumed_​bytescounterBytes read by the link consumer
link_​frag_​filteredcounterFragments filtered and not consumed
link_​frag_​filtered_​bytescounterBytes read by the link consumer that were filtered
link_​link_​polling_​overruncounterTimes the link was overrun while polling
link_​frag_​polling_​overruncounterFragments not processed because the link was overrun while polling
link_​link_​reading_​overruncounterTimes the link was overrun while reading metadata
link_​frag_​reading_​overruncounterFragments not processed because the link was overrun while reading
link_​slowcounterTimes the consumer was detected as slow, rate limiting the producer

All Tiles

Most performance counters are local to a tile and are not aggregated. For example if you have two QUIC tiles (two CPU cores assigned to serving incoming QUIC connections) each QUIC counter will appear twice:

sh
# HELP quic_connections_created The total number of connections that have been created.
# TYPE quic_connections_created counter
quic_connections_created{kind="quic",kind_id="0"} 42145
quic_connections_created{kind="quic",kind_id="1"} 38268

# HELP quic_connections_aborted Number of connections aborted.
# TYPE quic_connections_aborted counter
quic_connections_aborted{kind="quic",kind_id="0"} 14
quic_connections_aborted{kind="quic",kind_id="1"} 23

All tile related metrics have just two labels, and these are to identify which tile (and which tile index, for tiles of the same kind) the metric is for:

  • kind — The tile name the metric is being reported for.
  • kind_id — The tile index of the tile which is reporting the metric.
MetricTypeDescription
tile_​pidgaugeProcess ID of the tile
tile_​tidgaugeThread ID of the tile. Same as Pid in production, but might differ in development
tile_​last_​cpugaugeIndex of the CPU last executed on
tile_​context_​switch_​involuntarycounterInvoluntary context switches
tile_​context_​switch_​voluntarycounterVoluntary context switches
tile_​page_​fault_​majorcounterMajor page faults
tile_​page_​fault_​minorcounterMinor page faults
tile_​statusgauge0=booting, 1=running, 2=shutdown
tile_​heartbeat_​timestamp_​nanosgaugeLast UNIX timestamp the tile heartbeated, in nanoseconds
tile_​in_​backpressuregaugeWhether the tile is currently backpressured, 1 or 0
tile_​backpressurecounterTimes the tile waited for one or more consumers to catch up to resume publishing
tile_​regime_​duration_​nanos
{tile_​regime="caught_​up_​housekeeping"}
counterMutually exclusive and exhaustive duration the tile spent in each regime, in nanoseconds (Caught up + Housekeeping)
tile_​regime_​duration_​nanos
{tile_​regime="processing_​housekeeping"}
counterMutually exclusive and exhaustive duration the tile spent in each regime, in nanoseconds (Processing + Housekeeping)
tile_​regime_​duration_​nanos
{tile_​regime="backpressure_​housekeeping"}
counterMutually exclusive and exhaustive duration the tile spent in each regime, in nanoseconds (Backpressure + Housekeeping)
tile_​regime_​duration_​nanos
{tile_​regime="caught_​up_​prefrag"}
counterMutually exclusive and exhaustive duration the tile spent in each regime, in nanoseconds (Caught up + Prefrag)
tile_​regime_​duration_​nanos
{tile_​regime="processing_​prefrag"}
counterMutually exclusive and exhaustive duration the tile spent in each regime, in nanoseconds (Processing + Prefrag)
tile_​regime_​duration_​nanos
{tile_​regime="backpressure_​prefrag"}
counterMutually exclusive and exhaustive duration the tile spent in each regime, in nanoseconds (Backpressure + Prefrag)
tile_​regime_​duration_​nanos
{tile_​regime="caught_​up_​postfrag"}
counterMutually exclusive and exhaustive duration the tile spent in each regime, in nanoseconds (Caught up + Postfrag)
tile_​regime_​duration_​nanos
{tile_​regime="processing_​postfrag"}
counterMutually exclusive and exhaustive duration the tile spent in each regime, in nanoseconds (Processing + Postfrag)
tile_​cpu_​duration_​nanos
{cpu_​regime="wait"}
counterCPU time spent in each CPU regime, in nanoseconds (Wait (task was runnable but not scheduled))
tile_​cpu_​duration_​nanos
{cpu_​regime="idle"}
counterCPU time spent in each CPU regime, in nanoseconds (Idle (task was not runnable))
tile_​cpu_​duration_​nanos
{cpu_​regime="user"}
counterCPU time spent in each CPU regime, in nanoseconds (User (task was scheduled and executing in user mode))
tile_​cpu_​duration_​nanos
{cpu_​regime="system"}
counterCPU time spent in each CPU regime, in nanoseconds (System (task was scheduled and executing in kernel mode))
tile_​irq_​preemptedcounterTimes the tile was interrupted by an IRQ (fixed tiles only)
tile_​tlb_​shootdowncounterTLB shootdowns observed on the tile CPU (fixed tiles only)

Genesi Tile

MetricTypeDescription

Ipecho Tile

MetricTypeDescription
ipecho_​current_​shred_​versiongaugeCurrent shred version used by the validator
ipecho_​conn_​activegaugeActive connections to the ipecho service
ipecho_​conn_​closed
{conn_​close_​result="ok"}
counterConnections to the ipecho service made and closed, by outcome (Closed normally)
ipecho_​conn_​closed
{conn_​close_​result="error"}
counterConnections to the ipecho service made and closed, by outcome (Closed abnormally)
ipecho_​bytes_​readcounterBytes read from all connections to the ipecho service
ipecho_​bytes_​writtencounterBytes written to all connections to the ipecho service

Snapct Tile

MetricTypeDescription
snapct_​stategauge0=init, 1=waiting for peers, 2=waiting for peers (incremental), 3=collecting peers, 4=collecting peers (incremental), 5=reading full file, 6=flushing full file fini, 7=flushing full file done, 8=flushing full file reset, 9=reading incremental file, 10=flushing incremental file fini, 11=flushing incremental file done, 12=flushing incremental file reset, 13=reading full http, 14=flushing full http fini, 15=flushing full http done, 16=flushing full http reset, 17=reading incremental http, 18=flushing incremental http fini, 19=flushing incremental http done, 20=flushing incremental http reset, 21=shutdown
snapct_​full_​bytes_​readgaugeBytes read so far from the full snapshot. Might decrease if snapshot load is aborted and restarted
snapct_​full_​bytes_​writtengaugeBytes written so far from the full snapshot. Might decrease if snapshot load is aborted and restarted
snapct_​full_​size_​bytesgaugeTotal size of the full snapshot file. Might change if snapshot load is aborted and restarted
snapct_​full_​retrygaugeRetries of the full snapshot download so far because the peer was too slow
snapct_​incremental_​bytes_​readgaugeBytes read so far from the incremental snapshot. Might decrease if snapshot load is aborted and restarted
snapct_​incremental_​bytes_​writtengaugeBytes written so far from the incremental snapshot. Might decrease if snapshot load is aborted and restarted
snapct_​incremental_​size_​bytesgaugeTotal size of the incremental snapshot file. Might change if snapshot load is aborted and restarted
snapct_​incremental_​retrygaugeRetries of the incremental snapshot download so far because the peer was too slow
snapct_​predicted_​slotgaugePredicted slot from which replay starts after snapshot loading finishes. Might change if snapshot load is aborted and restarted
snapct_​ssl_​alloc_​failedcounterSSL allocation errors encountered

Snapld Tile

MetricTypeDescription
snapld_​stategauge0=idle, 1=processing, 2=finishing, 3=error, 4=shutdown
snapld_​ssl_​alloc_​failedcounterSSL allocation errors encountered

Snapdc Tile

MetricTypeDescription
snapdc_​stategauge0=idle, 1=processing, 2=finishing, 3=error, 4=shutdown
snapdc_​full_​compressed_​bytes_​readgaugeBytes read so far from the compressed full snapshot file. Might decrease if snapshot load is aborted and restarted
snapdc_​full_​decompressed_​bytes_​writtengaugeBytes decompressed so far from the full snapshot. Might decrease if snapshot load is aborted and restarted
snapdc_​incremental_​compressed_​bytes_​readgaugeBytes read so far from the compressed incremental snapshot file. Might decrease if snapshot load is aborted and restarted
snapdc_​incremental_​decompressed_​bytes_​writtengaugeBytes decompressed so far from the incremental snapshot. Might decrease if snapshot load is aborted and restarted

Snapin Tile

MetricTypeDescription
snapin_​stategauge0=idle, 1=processing, 2=finishing, 3=error, 4=shutdown
snapin_​full_​bytes_​readgaugeBytes read so far from the full snapshot. Might decrease if snapshot load is aborted and restarted
snapin_​incremental_​bytes_​readgaugeBytes read so far from the incremental snapshot. Might decrease if snapshot load is aborted and restarted
snapin_​account_​loadedgaugeAccounts seen during snapshot loading. Includes duplicates. Resets if snapshot load restarts
snapin_​account_​replacedgaugePreviously inserted accounts replaced by a later duplicate. Resets if snapshot load restarts
snapin_​account_​ignoredgaugeStale duplicate accounts dropped because a previously inserted account was newer. Resets if snapshot load restarts
snapin_​account_​processedcounterAccounts processed across all snapshots (inserted or otherwise)
snapin_​account_​batch_​processedcounterAccount batches processed across all snapshots (parallelism indicator)

Snapwr Tile

MetricTypeDescription
snapwr_​full_​bytes_​readgaugeNumber of decompressed snapshot bytes consumed from the full snapshot. Might decrease if snapshot load is aborted and restarted
snapwr_​incremental_​bytes_​readgaugeNumber of decompressed snapshot bytes consumed from the incremental snapshot. Might decrease if snapshot load is aborted and restarted
snapwr_​bytes_​writtengaugeNumber of bytes written to the accounts database on disk. Monotonically increasing across snapshot loads.
snapwr_​accounts_​writtengaugeNumber of accounts written to the accounts database on disk. Might decrease if snapshot load is aborted and restarted

Netlnk Tile

MetricTypeDescription
netlnk_​event_​droppedcounterNetlink drop events caught
netlnk_​link_​full_​synccounterFull link table syncs done
netlnk_​route_​full_​synccounterFull route table syncs done
netlnk_​update_​processed
{netlink_​message="link"}
counterNetlink live updates processed (Link)
netlnk_​update_​processed
{netlink_​message="neighbor"}
counterNetlink live updates processed (Neighbor Table Entry)
netlnk_​update_​processed
{netlink_​message="ipv4_​route"}
counterNetlink live updates processed (IPv4 Route Table Entry)
netlnk_​interface_​countgaugeNetwork interfaces
netlnk_​route_​count
{route_​table="local"}
gaugeIPv4 routes (Local)
netlnk_​route_​count
{route_​table="main"}
gaugeIPv4 routes (Main)
netlnk_​neighbor_​probe_​sentcounterNeighbor solicit requests sent to kernel
netlnk_​neighbor_​probe_​failedcounterNeighbor solicit requests that failed to send (kernel too slow)
netlnk_​neighbor_​probe_​rate_​limit_​hostcounterNeighbor solicit requests that exceeded the per-host rate limit
netlnk_​neighbor_​probe_​rate_​limit_​globalcounterNeighbor solicit requests that exceeded the global rate limit

Net Tile

MetricTypeDescription
net_​pkt_​rxcounterPackets received
net_​pkt_​rx_​bytescounterBytes received (including Ethernet header)
net_​pkt_​rx_​undersizecounterIncoming packets dropped due to being too small
net_​pkt_​rx_​fill_​ring_​fullcounterIncoming packets dropped due to fill ring being full
net_​pkt_​rx_​backpressurecounterIncoming packets dropped due to backpressure
net_​rx_​buffer_​busygaugeReceive buffers currently busy
net_​rx_​buffer_​idlegaugeReceive buffers currently idle
net_​pkt_​tx_​submittedcounterPacket transmit jobs submitted
net_​pkt_​tx_​completedcounterPacket transmit jobs marked as completed by the kernel
net_​pkt_​tx_​bytescounterBytes transmitted (including Ethernet header)
net_​pkt_​tx_​no_​routecounterPacket transmit jobs dropped due to route failure
net_​pkt_​tx_​no_​neighborcounterPacket transmit jobs dropped due to unresolved neighbor
net_​pkt_​tx_​ring_​fullcounterPacket transmit jobs dropped due to XDP TX ring full or missing completions
net_​tx_​buffer_​busygaugeTransmit buffers currently busy
net_​tx_​buffer_​idlegaugeTransmit buffers currently idle
net_​xsk_​syscall_​txcounterXSK sendto syscalls dispatched
net_​xsk_​syscall_​rxcounterXSK recvmsg syscalls dispatched
net_​xdp_​rx_​other_​droppedcounterDropped for other reasons (xdp_statistics_v0.rx_dropped)
net_​xdp_​rx_​invalid_​descriptorcounterDropped due to invalid descriptor (xdp_statistics_v0.rx_invalid_descs)
net_​xdp_​tx_​invalid_​descriptorcounterDropped due to invalid descriptor (xdp_statistics_v0.tx_invalid_descs)
net_​xdp_​rx_​ring_​fullcounterDropped due to rx ring being full (xdp_statistics_v1.rx_ring_full)
net_​xdp_​rx_​fill_​ring_​emptycounterFailed to retrieve item from fill ring because it was empty (xdp_statistics_v1.rx_fill_ring_empty_descs)
net_​xdp_​tx_​ring_​emptycounterFailed to retrieve item from tx ring because it was empty (xdp_statistics_v1.tx_ring_empty_descs)
net_​gre_​pkt_​rxcounterValid GRE packets received
net_​gre_​pkt_​rx_​invalidcounterInvalid GRE packets received
net_​gre_​pkt_​rx_​ignoredcounterGRE packets received but ignored
net_​gre_​pkt_​tx_​submittedcounterGRE packet transmit jobs submitted
net_​gre_​pkt_​tx_​no_​routecounterGRE packet transmit jobs dropped due to route failure
net_​pkt_​rx_​src_​invalidcounterIncoming packets dropped due to invalid source IP address

Sock Tile

MetricTypeDescription
sock_​syscall_​tx
{socket_​error="no_​error"}
countersendmmsg syscalls dispatched (No error)
sock_​syscall_​tx
{socket_​error="slow"}
countersendmmsg syscalls dispatched (ENOBUFS, EAGAIN error)
sock_​syscall_​tx
{socket_​error="permission"}
countersendmmsg syscalls dispatched (EPERM error (blocked by netfilter))
sock_​syscall_​tx
{socket_​error="unreachable"}
countersendmmsg syscalls dispatched (ENETUNREACH, EHOSTUNREACH error)
sock_​syscall_​tx
{socket_​error="down"}
countersendmmsg syscalls dispatched (ENONET, ENETDOWN, EHOSTDOWN error)
sock_​syscall_​tx
{socket_​error="other"}
countersendmmsg syscalls dispatched (Unrecognized error code)
sock_​syscall_​rxcounterrecvmmsg syscalls dispatched
sock_​pkt_​rxcounterPackets received
sock_​pkt_​txcounterPackets sent
sock_​pkt_​tx_​failedcounterPackets that failed to send
sock_​pkt_​tx_​bytescounterBytes transmitted (including Ethernet header)
sock_​pkt_​rx_​bytescounterBytes received (including Ethernet header)

Quic Tile

MetricTypeDescription
quic_​txn_​overruncounterTxns overrun before reassembled (too small txn_reassembly_count)
quic_​txn_​reassembly_​startedcounterFragmented txn receive ops started
quic_​txn_​reassembly_​activegaugeFragmented txn receive ops currently active
quic_​frag_​rxcounterTxn frags received
quic_​frag_​gapcounterTxn frags dropped due to data gap
quic_​frag_​duplicatecounterTxn frags dropped due to duplicate (stream already completed)
quic_​txn_​rx
{tpu_​rx_​type="udp"}
counterTxns received via TPU (TPU/UDP)
quic_​txn_​rx
{tpu_​rx_​type="quic_​fast"}
counterTxns received via TPU (TPU/QUIC unfragmented)
quic_​txn_​rx
{tpu_​rx_​type="quic_​frag"}
counterTxns received via TPU (TPU/QUIC fragmented)
quic_​txn_​abandonedcounterTxns abandoned because a connection was lost
quic_​txn_​undersizecounterTxns received via QUIC dropped because they were too small
quic_​txn_​oversizecounterTxns received via QUIC dropped because they were too large
quic_​legacy_​txn_​undersizecounterPackets received on the non-QUIC port that were too small to be a valid IP packet
quic_​legacy_​txn_​oversizecounterPackets received on the non-QUIC port that were too large to be a valid transaction
quic_​pkt_​rxcounterIP packets received
quic_​pkt_​rx_​bytescounterBytes received (including IP, UDP, QUIC headers)
quic_​pkt_​txcounterIP packets sent
quic_​pkt_​tx_​bytescounterBytes sent (including IP, UDP, QUIC headers)
quic_​conn_​in_​usegaugeQUIC connection slots currently in use (allocated from connection create until free, including handshaking connections)
quic_​conn_​state
{quic_​conn_​state="invalid"}
gaugeQUIC connections in each state (Freed)
quic_​conn_​state
{quic_​conn_​state="handshake"}
gaugeQUIC connections in each state (Handshaking peer)
quic_​conn_​state
{quic_​conn_​state="handshake_​complete"}
gaugeQUIC connections in each state (Handshake complete, confirming with peer)
quic_​conn_​state
{quic_​conn_​state="active"}
gaugeQUIC connections in each state (Active connection)
quic_​conn_​state
{quic_​conn_​state="peer_​close"}
gaugeQUIC connections in each state (Peer requested close)
quic_​conn_​state
{quic_​conn_​state="abort"}
gaugeQUIC connections in each state (Connection terminating due to error)
quic_​conn_​state
{quic_​conn_​state="close_​pending"}
gaugeQUIC connections in each state (Connection is closing)
quic_​conn_​state
{quic_​conn_​state="dead"}
gaugeQUIC connections in each state (Connection about to be freed)
quic_​conn_​createdcounterConnections created
quic_​conn_​closedcounterConnections gracefully closed
quic_​conn_​abortedcounterConnections aborted
quic_​conn_​timed_​outcounterConnections timed out
quic_​conn_​retriedcounterConnections established with retry
quic_​conn_​error_​no_​slotscounterConnections that failed to create due to lack of slots
quic_​conn_​error_​retry_​failedcounterConnections that failed during retry (e.g. invalid token)
quic_​pkt_​no_​conn
{quic_​pkt_​handle="initial"}
counterPackets with an unknown connection ID (Initial)
quic_​pkt_​no_​conn
{quic_​pkt_​handle="retry"}
counterPackets with an unknown connection ID (Retry)
quic_​pkt_​no_​conn
{quic_​pkt_​handle="handshake"}
counterPackets with an unknown connection ID (Handshake)
quic_​pkt_​no_​conn
{quic_​pkt_​handle="one_​rtt"}
counterPackets with an unknown connection ID (1-RTT)
quic_​pkt_​src_​invalidcounterPackets dropped due to a wrong source IP
quic_​frame_​meta_​acquired
{frame_​tx_​alloc_​result="success"}
counterAttempts to acquire QUIC frame metadata (Success)
quic_​frame_​meta_​acquired
{frame_​tx_​alloc_​result="fail_​empty_​pool"}
counterAttempts to acquire QUIC frame metadata (PktMetaPoolEmpty)
quic_​frame_​meta_​acquired
{frame_​tx_​alloc_​result="fail_​connection_​max"}
counterAttempts to acquire QUIC frame metadata (ConnMaxedInflightFrames)
quic_​initial_​pkt_​rx
{quic_​initial_​token_​length="zero"}
counterInitial packets grouped by token length (No token)
quic_​initial_​pkt_​rx
{quic_​initial_​token_​length="fd_​quic_​length"}
counterInitial packets grouped by token length (fd_quic retry token length)
quic_​initial_​pkt_​rx
{quic_​initial_​token_​length="invalid_​length"}
counterInitial packets grouped by token length (Invalid token length)
quic_​handshake_​createdcounterHandshake flows created
quic_​handshake_​error_​alloc_​failcounterHandshakes dropped due to alloc fail
quic_​handshake_​evictedcounterHandshakes dropped due to eviction
quic_​stream_​rxcounterStream receive events
quic_​stream_​rx_​bytescounterStream payload bytes received
quic_​frame_​rx
{quic_​frame_​type="unknown"}
counterQUIC frames received (Unknown frame type)
quic_​frame_​rx
{quic_​frame_​type="ack"}
counterQUIC frames received (ACK frame)
quic_​frame_​rx
{quic_​frame_​type="reset_​stream"}
counterQUIC frames received (RESET_STREAM frame)
quic_​frame_​rx
{quic_​frame_​type="stop_​sending"}
counterQUIC frames received (STOP_SENDING frame)
quic_​frame_​rx
{quic_​frame_​type="crypto"}
counterQUIC frames received (CRYPTO frame)
quic_​frame_​rx
{quic_​frame_​type="new_​token"}
counterQUIC frames received (NEW_TOKEN frame)
quic_​frame_​rx
{quic_​frame_​type="stream"}
counterQUIC frames received (STREAM frame)
quic_​frame_​rx
{quic_​frame_​type="max_​data"}
counterQUIC frames received (MAX_DATA frame)
quic_​frame_​rx
{quic_​frame_​type="max_​stream_​data"}
counterQUIC frames received (MAX_STREAM_DATA frame)
quic_​frame_​rx
{quic_​frame_​type="max_​streams"}
counterQUIC frames received (MAX_STREAMS frame)
quic_​frame_​rx
{quic_​frame_​type="data_​blocked"}
counterQUIC frames received (DATA_BLOCKED frame)
quic_​frame_​rx
{quic_​frame_​type="stream_​data_​blocked"}
counterQUIC frames received (STREAM_DATA_BLOCKED frame)
quic_​frame_​rx
{quic_​frame_​type="streams_​blocked"}
counterQUIC frames received (STREAMS_BLOCKED(bidi) frame)
quic_​frame_​rx
{quic_​frame_​type="new_​connection_​id"}
counterQUIC frames received (NEW_CONN_ID frame)
quic_​frame_​rx
{quic_​frame_​type="retire_​connection_​id"}
counterQUIC frames received (RETIRE_CONN_ID frame)
quic_​frame_​rx
{quic_​frame_​type="path_​challenge"}
counterQUIC frames received (PATH_CHALLENGE frame)
quic_​frame_​rx
{quic_​frame_​type="path_​response"}
counterQUIC frames received (PATH_RESPONSE frame)
quic_​frame_​rx
{quic_​frame_​type="connection_​close_​quic"}
counterQUIC frames received (CONN_CLOSE(transport) frame)
quic_​frame_​rx
{quic_​frame_​type="connection_​close_​app"}
counterQUIC frames received (CONN_CLOSE(app) frame)
quic_​frame_​rx
{quic_​frame_​type="handshake_​done"}
counterQUIC frames received (HANDSHAKE_DONE frame)
quic_​frame_​rx
{quic_​frame_​type="ping"}
counterQUIC frames received (PING frame)
quic_​frame_​rx
{quic_​frame_​type="padding"}
counterQUIC frames received (PADDING frame)
quic_​ack_​tx
{quic_​ack_​tx="noop"}
counterACK events (Non-ACK-eliciting packet)
quic_​ack_​tx
{quic_​ack_​tx="new"}
counterACK events (New ACK range)
quic_​ack_​tx
{quic_​ack_​tx="merged"}
counterACK events (Merged into existing ACK range)
quic_​ack_​tx
{quic_​ack_​tx="drop"}
counterACK events (Out of buffers)
quic_​ack_​tx
{quic_​ack_​tx="cancel"}
counterACK events (ACK suppressed by handler)
quic_​service_​duration_​secondshistogramDuration spent in service
quic_​rx_​duration_​secondshistogramDuration spent processing packets
quic_​frame_​parse_​failedcounterQUIC frames that failed to parse
quic_​pkt_​crypto_​failed
{quic_​encryption_​level="initial"}
counterPackets that failed decryption (Initial)
quic_​pkt_​crypto_​failed
{quic_​encryption_​level="early"}
counterPackets that failed decryption (Early data)
quic_​pkt_​crypto_​failed
{quic_​encryption_​level="handshake"}
counterPackets that failed decryption (Handshake)
quic_​pkt_​crypto_​failed
{quic_​encryption_​level="app"}
counterPackets that failed decryption (App data)
quic_​pkt_​no_​key
{quic_​encryption_​level="initial"}
counterPackets that failed decryption due to missing key (Initial)
quic_​pkt_​no_​key
{quic_​encryption_​level="early"}
counterPackets that failed decryption due to missing key (Early data)
quic_​pkt_​no_​key
{quic_​encryption_​level="handshake"}
counterPackets that failed decryption due to missing key (Handshake)
quic_​pkt_​no_​key
{quic_​encryption_​level="app"}
counterPackets that failed decryption due to missing key (App data)
quic_​pkt_​net_​header_​invalidcounterPackets dropped due to weird IP or UDP header
quic_​pkt_​header_​invalidcounterPackets dropped due to weird QUIC header
quic_​pkt_​undersizecounterQUIC packets dropped due to being too small
quic_​pkt_​oversizecounterQUIC packets dropped due to being too large
quic_​pkt_​rx_​version_​negotiationcounterQUIC version negotiation packets received
quic_​pkt_​tx_​retrycounterQUIC Retry packets sent
quic_​pkt_​tx_​retransmitted
{quic_​encryption_​level="initial"}
counterQUIC packets retransmitted (Initial)
quic_​pkt_​tx_​retransmitted
{quic_​encryption_​level="early"}
counterQUIC packets retransmitted (Early data)
quic_​pkt_​tx_​retransmitted
{quic_​encryption_​level="handshake"}
counterQUIC packets retransmitted (Handshake)
quic_​pkt_​tx_​retransmitted
{quic_​encryption_​level="app"}
counterQUIC packets retransmitted (App data)

Bundle Tile

MetricTypeDescription
bundle_​txn_​rxcounterTransactions received, including transactions within bundles
bundle_​pkt_​rxcounterPackets received
bundle_​protobuf_​rx_​bytescounterBytes from received gRPC protobuf payloads
bundle_​bundle_​rxcounterBundles received
bundle_​conn_​error
{bundle_​error="protobuf"}
countergRPC errors encountered (Protobuf decode/encode error)
bundle_​conn_​error
{bundle_​error="transport"}
countergRPC errors encountered (Transport error)
bundle_​conn_​error
{bundle_​error="timeout"}
countergRPC errors encountered (I/O timeout)
bundle_​conn_​error
{bundle_​error="no_​fee_​info"}
countergRPC errors encountered (Bundle dropped due to missing fee info)
bundle_​conn_​error
{bundle_​error="ssl_​alloc"}
countergRPC errors encountered (OpenSSL alloc fail)
bundle_​heap_​size_​bytesgaugeWorkspace heap size
bundle_​heap_​free_​bytesgaugeApproximate free space in workspace
bundle_​shredstream_​heartbeat_​sentcounterShredStream heartbeats successfully sent
bundle_​ping_​ackedcounterHTTP/2 PINGs acknowledged by server
bundle_​stategauge0=disconnected, 1=connecting, 2=connected, 3=sleeping
bundle_​rtt_​sample_​nanosgaugeLatest RTT sample at scrape time, in nanoseconds
bundle_​rtt_​smoothed_​nanosgaugeRTT moving average, in nanoseconds
bundle_​rtt_​variance_​nanosgaugeRTT variance, in nanoseconds
bundle_​message_​rx_​delay_​nanoshistogramMessage receive delay from bundle server to bundle client, in nanoseconds
bundle_​txn_​pendinggaugeTransactions buffered and waiting to be published
bundle_​txn_​buffer_​fullcounterTransactions dropped because the pending transaction buffer was full (should never happen)

Verify Tile

MetricTypeDescription
verify_​txn_​result
{verify_​tile_​result="success"}
counterTransaction results through verify tile (Transaction verified successfully)
verify_​txn_​result
{verify_​tile_​result="bundle_​peer_​failure"}
counterTransaction results through verify tile (Peer transaction in the bundle failed)
verify_​txn_​result
{verify_​tile_​result="parse_​failure"}
counterTransaction results through verify tile (Transaction failed to parse)
verify_​txn_​result
{verify_​tile_​result="dedup_​failure"}
counterTransaction results through verify tile (Transaction failed deduplication)
verify_​txn_​result
{verify_​tile_​result="verify_​failure"}
counterTransaction results through verify tile (Transaction failed signature verification)
verify_​vote_​gossip_​rxcounterSimple vote transactions received over gossip instead of via the normal TPU path

Dedup Tile

MetricTypeDescription
dedup_​txn_​result
{dedup_​tile_​result="success"}
counterTransaction results through dedup tile (Transaction deduplicated successfully)
dedup_​txn_​result
{dedup_​tile_​result="bundle_​peer_​failure"}
counterTransaction results through dedup tile (Peer transaction in the bundle failed)
dedup_​txn_​result
{dedup_​tile_​result="dedup_​failure"}
counterTransaction results through dedup tile (Transaction failed deduplication)
dedup_​vote_​gossip_​rxcounterSimple vote transactions received over gossip instead of via the normal TPU path

Resolv Tile

MetricTypeDescription
resolv_​txn_​no_​bankcounterTransactions dropped because the bank was not available
resolv_​stash_​operation
{resolve_​stash_​operation="inserted"}
counterOperations that happened on the transaction stash (A transaction with an unknown blockhash was added to the stash)
resolv_​stash_​operation
{resolve_​stash_​operation="overrun"}
counterOperations that happened on the transaction stash (A transaction with an unknown blockhash was dropped because the stash was full)
resolv_​stash_​operation
{resolve_​stash_​operation="published"}
counterOperations that happened on the transaction stash (A transaction with an unknown blockhash was published as the blockhash became known)
resolv_​stash_​operation
{resolve_​stash_​operation="removed"}
counterOperations that happened on the transaction stash (A transaction with an unknown blockhash was removed from the stash without publishing, due to a bad LUT resolved failure, or no bank. These errors are double counted with the respective metrics for those categories)
resolv_​lut_​resolved
{lut_​resolve_​result="invalid_​lookup_​index"}
counterAddress lookup tables resolved (The transaction referenced an index in a LUT that didn't exist)
resolv_​lut_​resolved
{lut_​resolve_​result="account_​uninitialized"}
counterAddress lookup tables resolved (The account referenced as a LUT hasn't been initialized)
resolv_​lut_​resolved
{lut_​resolve_​result="invalid_​account_​data"}
counterAddress lookup tables resolved (The account referenced as a LUT couldn't be parsed)
resolv_​lut_​resolved
{lut_​resolve_​result="invalid_​account_​owner"}
counterAddress lookup tables resolved (The account referenced as a LUT wasn't owned by the ALUT program ID)
resolv_​lut_​resolved
{lut_​resolve_​result="account_​not_​found"}
counterAddress lookup tables resolved (The account referenced as a LUT couldn't be found)
resolv_​lut_​resolved
{lut_​resolve_​result="success"}
counterAddress lookup tables resolved (Resolved successfully)
resolv_​blockhash_​expiredcounterTransactions that failed to resolve because the blockhash was expired
resolv_​txn_​bundle_​peer_​failedcounterTransactions that failed to resolve because a peer transaction in the bundle failed
resolv_​accdb_​account_​acquired
{accdb_​cache_​class="class0"}
counterNumber of accounts read from the account database (one per address lookup table account fetched), attributed to the cache size class of the account's current data size (0-128 B)
resolv_​accdb_​account_​acquired
{accdb_​cache_​class="class1"}
counterNumber of accounts read from the account database (one per address lookup table account fetched), attributed to the cache size class of the account's current data size (129-512 B)
resolv_​accdb_​account_​acquired
{accdb_​cache_​class="class2"}
counterNumber of accounts read from the account database (one per address lookup table account fetched), attributed to the cache size class of the account's current data size (513 B-2 KiB)
resolv_​accdb_​account_​acquired
{accdb_​cache_​class="class3"}
counterNumber of accounts read from the account database (one per address lookup table account fetched), attributed to the cache size class of the account's current data size (2-8 KiB)
resolv_​accdb_​account_​acquired
{accdb_​cache_​class="class4"}
counterNumber of accounts read from the account database (one per address lookup table account fetched), attributed to the cache size class of the account's current data size (8-32 KiB)
resolv_​accdb_​account_​acquired
{accdb_​cache_​class="class5"}
counterNumber of accounts read from the account database (one per address lookup table account fetched), attributed to the cache size class of the account's current data size (32-128 KiB)
resolv_​accdb_​account_​acquired
{accdb_​cache_​class="class6"}
counterNumber of accounts read from the account database (one per address lookup table account fetched), attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
resolv_​accdb_​account_​acquired
{accdb_​cache_​class="class7"}
counterNumber of accounts read from the account database (one per address lookup table account fetched), attributed to the cache size class of the account's current data size (1-10 MiB)
resolv_​accdb_​account_​not_​found
{accdb_​cache_​class="class0"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (0-128 B)
resolv_​accdb_​account_​not_​found
{accdb_​cache_​class="class1"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (129-512 B)
resolv_​accdb_​account_​not_​found
{accdb_​cache_​class="class2"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (513 B-2 KiB)
resolv_​accdb_​account_​not_​found
{accdb_​cache_​class="class3"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (2-8 KiB)
resolv_​accdb_​account_​not_​found
{accdb_​cache_​class="class4"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (8-32 KiB)
resolv_​accdb_​account_​not_​found
{accdb_​cache_​class="class5"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (32-128 KiB)
resolv_​accdb_​account_​not_​found
{accdb_​cache_​class="class6"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (128 KiB-1 MiB)
resolv_​accdb_​account_​not_​found
{accdb_​cache_​class="class7"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (1-10 MiB)
resolv_​accdb_​account_​waitedcounterNumber of accounts that had to wait for a concurrent writer to publish a disk offset before being read
resolv_​accdb_​batch_​acquiredcounterNumber of fd_accdb_acquire (batch acquire) calls made by this tile
resolv_​accdb_​bytes_​readcounterNumber of bytes read from the account database
resolv_​accdb_​read_​operationcounterNumber of read operations performed on the account database
resolv_​accdb_​bytes_​copiedcounterNumber of bytes copied out of the account database cache on a cache hit

Pack Tile

MetricTypeDescription
pack_​schedule_​microblock_​duration_​secondshistogramDuration of scheduling one microblock
pack_​no_​schedule_​microblock_​duration_​secondshistogramDuration of discovering that there are no schedulable transactions
pack_​insert_​transaction_​duration_​secondshistogramDuration of inserting one transaction into the pool of available transactions
pack_​complete_​microblock_​duration_​secondshistogramDuration of the computation associated with marking one microblock as complete
pack_​txn_​per_​microblockhistogramTransactions in a scheduled microblock, including both votes and non-votes
pack_​vote_​per_​microblockhistogramSimple vote transactions in a scheduled microblock
pack_​txn_​normal_​rxcounterTransactions received via the normal TPU path
pack_​txn_​inserted
{pack_​txn_​insert_​return="instr_​acct_​cnt"}
counterResult of inserting a transaction into the pack object (Transaction has an instruction that references too many accounts)
pack_​txn_​inserted
{pack_​txn_​insert_​return="nonce_​conflict"}
counterResult of inserting a transaction into the pack object (Bundle with two conflicting durable nonce transactions)
pack_​txn_​inserted
{pack_​txn_​insert_​return="acct_​blocklist"}
counterResult of inserting a transaction into the pack object (Transaction uses an account on the account blocklist)
pack_​txn_​inserted
{pack_​txn_​insert_​return="bundle_​blacklist"}
counterResult of inserting a transaction into the pack object (Transaction is a vote in a bundle or uses an account on the bundle blacklist)
pack_​txn_​inserted
{pack_​txn_​insert_​return="invalid_​nonce"}
counterResult of inserting a transaction into the pack object (Transaction is an invalid durable nonce transaction)
pack_​txn_​inserted
{pack_​txn_​insert_​return="write_​sysvar"}
counterResult of inserting a transaction into the pack object (Transaction tries to write to a sysvar)
pack_​txn_​inserted
{pack_​txn_​insert_​return="estimation_​fail"}
counterResult of inserting a transaction into the pack object (Estimating compute cost and/or fee failed)
pack_​txn_​inserted
{pack_​txn_​insert_​return="duplicate_​account"}
counterResult of inserting a transaction into the pack object (Transaction included an account address twice)
pack_​txn_​inserted
{pack_​txn_​insert_​return="too_​many_​accounts"}
counterResult of inserting a transaction into the pack object (Transaction tried to load too many accounts)
pack_​txn_​inserted
{pack_​txn_​insert_​return="too_​large"}
counterResult of inserting a transaction into the pack object (Transaction requests too many CUs)
pack_​txn_​inserted
{pack_​txn_​insert_​return="expired"}
counterResult of inserting a transaction into the pack object (Transaction already expired)
pack_​txn_​inserted
{pack_​txn_​insert_​return="addr_​lut"}
counterResult of inserting a transaction into the pack object (Transaction loaded accounts from a lookup table)
pack_​txn_​inserted
{pack_​txn_​insert_​return="unaffordable"}
counterResult of inserting a transaction into the pack object (Fee payer's balance below transaction fee)
pack_​txn_​inserted
{pack_​txn_​insert_​return="duplicate"}
counterResult of inserting a transaction into the pack object (Pack aware of transaction with same signature)
pack_​txn_​inserted
{pack_​txn_​insert_​return="nonce_​priority"}
counterResult of inserting a transaction into the pack object (Transaction's fee was too low given its compute unit requirement and another competing transactions that uses the same durable nonce)
pack_​txn_​inserted
{pack_​txn_​insert_​return="priority"}
counterResult of inserting a transaction into the pack object (Transaction's fee was too low given its compute unit requirement and other competing transactions)
pack_​txn_​inserted
{pack_​txn_​insert_​return="nonvote_​add"}
counterResult of inserting a transaction into the pack object (Transaction that was not a simple vote added to pending transactions)
pack_​txn_​inserted
{pack_​txn_​insert_​return="vote_​add"}
counterResult of inserting a transaction into the pack object (Simple vote transaction was added to pending transactions)
pack_​txn_​inserted
{pack_​txn_​insert_​return="nonvote_​replace"}
counterResult of inserting a transaction into the pack object (Transaction that was not a simple vote replaced a lower priority transaction)
pack_​txn_​inserted
{pack_​txn_​insert_​return="vote_​replace"}
counterResult of inserting a transaction into the pack object (Simple vote transaction replaced a lower priority transaction)
pack_​txn_​inserted
{pack_​txn_​insert_​return="nonce_​nonvote_​add"}
counterResult of inserting a transaction into the pack object (Durable nonce transaction added to pending transactions)
pack_​txn_​inserted
{pack_​txn_​insert_​return="unused"}
counterResult of inserting a transaction into the pack object (Unused because durable nonce transactions can't be simple votes)
pack_​txn_​inserted
{pack_​txn_​insert_​return="nonce_​nonvote_​replace"}
counterResult of inserting a transaction into the pack object (Durable nonce transaction replaced a lower priority transaction, likely one that uses the same durable nonce)
pack_​state_​duration_​nanos
{pack_​timing_​state="no_​txn_​no_​execle_​no_​leader_​no_​microblock"}
counterTime spent in each state, in nanoseconds (No microblock: not leader, no transactions, no available execle)
pack_​state_​duration_​nanos
{pack_​timing_​state="txn_​no_​execle_​no_​leader_​no_​microblock"}
counterTime spent in each state, in nanoseconds (No microblock: not leader, transactions available, no available execle)
pack_​state_​duration_​nanos
{pack_​timing_​state="no_​txn_​execle_​no_​leader_​no_​microblock"}
counterTime spent in each state, in nanoseconds (No microblock: not leader, no transactions, execle available)
pack_​state_​duration_​nanos
{pack_​timing_​state="txn_​execle_​no_​leader_​no_​microblock"}
counterTime spent in each state, in nanoseconds (No microblock: not leader, transactions available, execle available)
pack_​state_​duration_​nanos
{pack_​timing_​state="no_​txn_​no_​execle_​leader_​no_​microblock"}
counterTime spent in each state, in nanoseconds (No microblock: leader, no transactions, no available execle)
pack_​state_​duration_​nanos
{pack_​timing_​state="txn_​no_​execle_​leader_​no_​microblock"}
counterTime spent in each state, in nanoseconds (No microblock: leader, transactions available, no available execle)
pack_​state_​duration_​nanos
{pack_​timing_​state="no_​txn_​execle_​leader_​no_​microblock"}
counterTime spent in each state, in nanoseconds (No microblock: leader, no transactions, execle available)
pack_​state_​duration_​nanos
{pack_​timing_​state="txn_​execle_​leader_​no_​microblock"}
counterTime spent in each state, in nanoseconds (No microblock: leader, transactions available, execle available (all conflicting))
pack_​state_​duration_​nanos
{pack_​timing_​state="no_​txn_​no_​execle_​no_​leader_​microblock"}
counterTime spent in each state, in nanoseconds (Scheduled a microblock: not leader, no transactions, no available execle)
pack_​state_​duration_​nanos
{pack_​timing_​state="txn_​no_​execle_​no_​leader_​microblock"}
counterTime spent in each state, in nanoseconds (Scheduled a microblock: not leader, transactions available, no available execle)
pack_​state_​duration_​nanos
{pack_​timing_​state="no_​txn_​execle_​no_​leader_​microblock"}
counterTime spent in each state, in nanoseconds (Scheduled a microblock: not leader, no transactions, execle available)
pack_​state_​duration_​nanos
{pack_​timing_​state="txn_​execle_​no_​leader_​microblock"}
counterTime spent in each state, in nanoseconds (Scheduled a microblock: not leader, transactions available, execle available)
pack_​state_​duration_​nanos
{pack_​timing_​state="no_​txn_​no_​execle_​leader_​microblock"}
counterTime spent in each state, in nanoseconds (Scheduled a microblock: leader, no transactions, no available execle)
pack_​state_​duration_​nanos
{pack_​timing_​state="txn_​no_​execle_​leader_​microblock"}
counterTime spent in each state, in nanoseconds (Scheduled a microblock: leader, transactions available, no available execle)
pack_​state_​duration_​nanos
{pack_​timing_​state="no_​txn_​execle_​leader_​microblock"}
counterTime spent in each state, in nanoseconds (Scheduled a microblock: leader, no transactions, execle available)
pack_​state_​duration_​nanos
{pack_​timing_​state="txn_​execle_​leader_​microblock"}
counterTime spent in each state, in nanoseconds (Scheduled a microblock: leader, transactions available, execle available)
pack_​txn_​extra_​droppedcounterTransactions dropped from the extra transaction storage because it was full
pack_​txn_​extra_​insertedcounterTransactions inserted into the extra transaction storage because pack's primary storage was full
pack_​txn_​extra_​retrievedcounterTransactions pulled from the extra transaction storage and inserted into pack's primary storage
pack_​txn_​expiredcounterTransactions deleted from pack because their TTL expired
pack_​txn_​deletedcounterTransactions dropped from pack because they were requested to be deleted
pack_​txn_​already_​executedcounterTransactions dropped from pack because they were already executed (in either the replay or leader pipeline)
pack_​txn_​partial_​bundlecounterTransactions dropped from pack because they were part of a partial bundle
pack_​txn_​available
{available_​txn_​type="all"}
gaugePending transactions in pack's pool that are available to be scheduled (All transactions in any treap)
pack_​txn_​available
{available_​txn_​type="regular"}
gaugePending transactions in pack's pool that are available to be scheduled (Non-votes in the main treap)
pack_​txn_​available
{available_​txn_​type="votes"}
gaugePending transactions in pack's pool that are available to be scheduled (Simple votes)
pack_​txn_​available
{available_​txn_​type="conflicting"}
gaugePending transactions in pack's pool that are available to be scheduled (Non-votes that write to a hotly-contended account)
pack_​txn_​available
{available_​txn_​type="bundles"}
gaugePending transactions in pack's pool that are available to be scheduled (Transactions that are part of a bundle)
pack_​txn_​pending_​capacitygaugeMaximum number of pending transactions that pack can consider. Fixed at Firedancer startup but a useful reference for TxnAvailable
pack_​txn_​pending_​smallest_​cugaugeLower bound on the smallest non-vote transaction (in cost units) that is immediately available for scheduling
pack_​microblock_​per_​block_​limit_​reachedcounterTimes pack did not pack a microblock because the microblocks-per-block limit had been reached
pack_​data_​per_​block_​limit_​reachedcounterTimes pack did not pack a microblock because it reached the data per block limit at the start of trying to schedule a microblock
pack_​txn_​scheduled
{pack_​txn_​schedule="taken"}
counterResult of trying to consider a transaction for scheduling (Pack included the transaction in the microblock)
pack_​txn_​scheduled
{pack_​txn_​schedule="cu_​limit"}
counterResult of trying to consider a transaction for scheduling (Pack skipped the transaction because it would have exceeded the block CU limit)
pack_​txn_​scheduled
{pack_​txn_​schedule="fast_​path"}
counterResult of trying to consider a transaction for scheduling (Pack skipped the transaction because of account conflicts using the fast bitvector check)
pack_​txn_​scheduled
{pack_​txn_​schedule="byte_​limit"}
counterResult of trying to consider a transaction for scheduling (Pack skipped the transaction because it would have exceeded the block data size limit)
pack_​txn_​scheduled
{pack_​txn_​schedule="alloc_​limit"}
counterResult of trying to consider a transaction for scheduling (Pack skipped the transaction because it would have exceeded the data allocation limit)
pack_​txn_​scheduled
{pack_​txn_​schedule="write_​cost"}
counterResult of trying to consider a transaction for scheduling (Pack skipped the transaction because it would have caused a writable account to exceed the per-account block write cost limit)
pack_​txn_​scheduled
{pack_​txn_​schedule="slow_​path"}
counterResult of trying to consider a transaction for scheduling (Pack skipped the transaction because of account conflicts using the full slow check)
pack_​txn_​scheduled
{pack_​txn_​schedule="defer_​skip"}
counterResult of trying to consider a transaction for scheduling (Pack skipped the transaction it previously exceeded the per-account block write cost limit too many times)
pack_​bundle_​crank_​result
{bundle_​crank_​result="not_​needed"}
counterResult of considering whether bundle cranks are needed (On-chain state in the correct state)
pack_​bundle_​crank_​result
{bundle_​crank_​result="inserted"}
counterResult of considering whether bundle cranks are needed (Inserted an initializer bundle to update the on-chain state)
pack_​bundle_​crank_​result
{bundle_​crank_​result="creation_​failed"}
counterResult of considering whether bundle cranks are needed (Tried to insert an initializer bundle to update the on-chain state, but creation failed)
pack_​bundle_​crank_​result
{bundle_​crank_​result="insertion_​failed"}
counterResult of considering whether bundle cranks are needed (Tried to insert an initializer bundle to update the on-chain state, but insertion failed)
pack_​block_​cu_​consumedgaugeCost units consumed in the current block, or 0 if pack is not currently packing a block
pack_​cu_​scheduled_​per_​blockhistogramCost units scheduled for each block pack produced. Can be higher than the block limit because of returned CUs
pack_​cu_​rebated_​per_​blockhistogramCompute units rebated for each block pack produced. Compute units are rebated when a transaction fails prior to execution or requests more compute units than it uses
pack_​cu_​net_​per_​blockhistogramNet cost units (scheduled - rebated) in each block pack produced
pack_​cu_​pcthistogramPercent of the total block cost limit used for each block pack produced
pack_​txn_​delete_​missedcounterAttempts to delete a transaction that wasn't found
pack_​txn_​delete_​hitcounterAttempts to delete a transaction that was found and deleted

Execle Tile

MetricTypeDescription
execle_​txn_​result
{transaction_​result="success"}
counterResult of loading and executing a transaction (Transaction executed successfully)
execle_​txn_​result
{transaction_​result="instruction_​error"}
counterResult of loading and executing a transaction (An error occurred while processing an instruction)
execle_​txn_​result
{transaction_​result="account_​not_​found"}
counterResult of loading and executing a transaction (The transaction fee payer address was not found)
execle_​txn_​result
{transaction_​result="program_​account_​not_​found"}
counterResult of loading and executing a transaction (A program account referenced by the transaction was not found)
execle_​txn_​result
{transaction_​result="insufficient_​funds_​for_​fee"}
counterResult of loading and executing a transaction (The transaction fee payer did not have balance to pay the fee)
execle_​txn_​result
{transaction_​result="invalid_​account_​for_​fee"}
counterResult of loading and executing a transaction (The transaction fee payer account is not owned by the system program, or has data that is not a nonce)
execle_​txn_​result
{transaction_​result="already_​processed"}
counterResult of loading and executing a transaction (The transaction has already been processed in a recent block)
execle_​txn_​result
{transaction_​result="blockhash_​not_​found"}
counterResult of loading and executing a transaction (The transaction references a blockhash that is not recent, or advances a nonce with the wrong value)
execle_​txn_​result
{transaction_​result="invalid_​program_​for_​execution"}
counterResult of loading and executing a transaction (A program account referenced by the transaction was no executable. TODO: No longer needed with SIMD-0162)
execle_​txn_​result
{transaction_​result="address_​lookup_​table_​not_​found"}
counterResult of loading and executing a transaction (The transaction references an ALUT account that does not exist or is inactive)
execle_​txn_​result
{transaction_​result="invalid_​address_​lookup_​table_​owner"}
counterResult of loading and executing a transaction (The transaction references an ALUT account that is not owned by the ALUT program account)
execle_​txn_​result
{transaction_​result="invalid_​address_​lookup_​table_​data"}
counterResult of loading and executing a transaction (The transaction references an ALUT account that contains data which is not a valid ALUT)
execle_​txn_​result
{transaction_​result="invalid_​address_​lookup_​table_​index"}
counterResult of loading and executing a transaction (The transaction references an account offset from the ALUT which does not exist)
execle_​txn_​result
{transaction_​result="max_​loaded_​accounts_​data_​size_​exceeded"}
counterResult of loading and executing a transaction (The total account data size of the loaded accounts exceeds the consensus limit)
execle_​txn_​result
{transaction_​result="duplicate_​instruction"}
counterResult of loading and executing a transaction (A compute budget program instruction was invoked more than once)
execle_​txn_​result
{transaction_​result="invalid_​loaded_​accounts_​data_​size_​limit"}
counterResult of loading and executing a transaction (The compute budget program was invoked and set the loaded accounts data size to zero)
execle_​txn_​result
{transaction_​result="nonce_​already_​advanced"}
counterResult of loading and executing a transaction (The transaction references a nonce account that is already advanced)
execle_​txn_​result
{transaction_​result="nonce_​advance_​failed"}
counterResult of loading and executing a transaction (The transaction is a nonce transaction but the advance instruction was not valid or failed)
execle_​txn_​result
{transaction_​result="nonce_​wrong_​blockhash"}
counterResult of loading and executing a transaction (The transaction is a nonce transaction but the blockhash is not the correct one)
execle_​txn_​result
{transaction_​result="sanitize_​failure"}
counterResult of loading and executing a transaction (The process for sanitizing the transaction failed)
execle_​txn_​result
{transaction_​result="account_​in_​use"}
counterResult of loading and executing a transaction (The transaction conflicts with another transaction in the microblock. TODO: No longer possible with smart dispatcher)
execle_​txn_​result
{transaction_​result="account_​loaded_​twice"}
counterResult of loading and executing a transaction (The transaction references the same account twice)
execle_​txn_​result
{transaction_​result="signature_​failure"}
counterResult of loading and executing a transaction (The transaction had an invalid signature)
execle_​txn_​result
{transaction_​result="too_​many_​account_​locks"}
counterResult of loading and executing a transaction (The transaction references too many accounts. TODO: No longer possible with smart dispatcher)
execle_​txn_​result
{transaction_​result="insufficient_​funds_​for_​rent"}
counterResult of loading and executing a transaction (The transaction would leave an account with a lower balance than the rent-exempt minimum)
execle_​txn_​result
{transaction_​result="unbalanced_​transaction"}
counterResult of loading and executing a transaction (The total referenced account lamports before and after the transaction was unbalanced)
execle_​txn_​result
{transaction_​result="bundle_​peer"}
counterResult of loading and executing a transaction (The transaction was part of a bundle and an earlier transaction in the bundle failed)
execle_​txn_​landed
{transaction_​landed="landed_​success"}
counterWhether a transaction landed in the block or not (Transaction landed)
execle_​txn_​landed
{transaction_​landed="landed_​fees_​only"}
counterWhether a transaction landed in the block or not (Transaction landed, but was fees only and did not execute)
execle_​txn_​landed
{transaction_​landed="landed_​failed"}
counterWhether a transaction landed in the block or not (Transaction landed, but failed to execute)
execle_​txn_​landed
{transaction_​landed="unlanded"}
counterWhether a transaction landed in the block or not (Transaction did not land)
execle_​cu_​executedcounterEstimated compute units executed since tile start
execle_​txn_​regime_​duration_​nanos
{txn_​regime="setup"}
counterMutually exclusive and exhaustive duration spent in transaction execution regimes, in nanoseconds (Transaction setup)
execle_​txn_​regime_​duration_​nanos
{txn_​regime="exec"}
counterMutually exclusive and exhaustive duration spent in transaction execution regimes, in nanoseconds (Transaction execution (includes VM setup/execution))
execle_​txn_​regime_​duration_​nanos
{txn_​regime="commit"}
counterMutually exclusive and exhaustive duration spent in transaction execution regimes, in nanoseconds (Transaction result commit)
execle_​vm_​regime_​duration_​nanos
{vm_​regime="setup"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM setup)
execle_​vm_​regime_​duration_​nanos
{vm_​regime="commit"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM commit)
execle_​vm_​regime_​duration_​nanos
{vm_​regime="setup_​cpi"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM setup (CPI))
execle_​vm_​regime_​duration_​nanos
{vm_​regime="commit_​cpi"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM commit (CPI))
execle_​vm_​regime_​duration_​nanos
{vm_​regime="interpreter"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM interpreter execution)
execle_​accdb_​account_​acquired
{accdb_​cache_​class="class0"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (0-128 B)
execle_​accdb_​account_​acquired
{accdb_​cache_​class="class1"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (129-512 B)
execle_​accdb_​account_​acquired
{accdb_​cache_​class="class2"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
execle_​accdb_​account_​acquired
{accdb_​cache_​class="class3"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
execle_​accdb_​account_​acquired
{accdb_​cache_​class="class4"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
execle_​accdb_​account_​acquired
{accdb_​cache_​class="class5"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
execle_​accdb_​account_​acquired
{accdb_​cache_​class="class6"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
execle_​accdb_​account_​acquired
{accdb_​cache_​class="class7"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
execle_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class0"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (0-128 B)
execle_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class1"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (129-512 B)
execle_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class2"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
execle_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class3"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
execle_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class4"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
execle_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class5"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
execle_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class6"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
execle_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class7"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
execle_​accdb_​account_​evicted
{accdb_​cache_​class="class0"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (0-128 B)
execle_​accdb_​account_​evicted
{accdb_​cache_​class="class1"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (129-512 B)
execle_​accdb_​account_​evicted
{accdb_​cache_​class="class2"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (513 B-2 KiB)
execle_​accdb_​account_​evicted
{accdb_​cache_​class="class3"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (2-8 KiB)
execle_​accdb_​account_​evicted
{accdb_​cache_​class="class4"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (8-32 KiB)
execle_​accdb_​account_​evicted
{accdb_​cache_​class="class5"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (32-128 KiB)
execle_​accdb_​account_​evicted
{accdb_​cache_​class="class6"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (128 KiB-1 MiB)
execle_​accdb_​account_​evicted
{accdb_​cache_​class="class7"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (1-10 MiB)
execle_​accdb_​account_​committed_​new
{accdb_​cache_​class="class0"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (0-128 B)
execle_​accdb_​account_​committed_​new
{accdb_​cache_​class="class1"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (129-512 B)
execle_​accdb_​account_​committed_​new
{accdb_​cache_​class="class2"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (513 B-2 KiB)
execle_​accdb_​account_​committed_​new
{accdb_​cache_​class="class3"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (2-8 KiB)
execle_​accdb_​account_​committed_​new
{accdb_​cache_​class="class4"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (8-32 KiB)
execle_​accdb_​account_​committed_​new
{accdb_​cache_​class="class5"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (32-128 KiB)
execle_​accdb_​account_​committed_​new
{accdb_​cache_​class="class6"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (128 KiB-1 MiB)
execle_​accdb_​account_​committed_​new
{accdb_​cache_​class="class7"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (1-10 MiB)
execle_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class0"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (0-128 B)
execle_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class1"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (129-512 B)
execle_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class2"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (513 B-2 KiB)
execle_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class3"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (2-8 KiB)
execle_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class4"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (8-32 KiB)
execle_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class5"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (32-128 KiB)
execle_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class6"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (128 KiB-1 MiB)
execle_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class7"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (1-10 MiB)
execle_​accdb_​account_​not_​found
{accdb_​cache_​class="class0"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (0-128 B)
execle_​accdb_​account_​not_​found
{accdb_​cache_​class="class1"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (129-512 B)
execle_​accdb_​account_​not_​found
{accdb_​cache_​class="class2"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (513 B-2 KiB)
execle_​accdb_​account_​not_​found
{accdb_​cache_​class="class3"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (2-8 KiB)
execle_​accdb_​account_​not_​found
{accdb_​cache_​class="class4"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (8-32 KiB)
execle_​accdb_​account_​not_​found
{accdb_​cache_​class="class5"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (32-128 KiB)
execle_​accdb_​account_​not_​found
{accdb_​cache_​class="class6"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (128 KiB-1 MiB)
execle_​accdb_​account_​not_​found
{accdb_​cache_​class="class7"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (1-10 MiB)
execle_​accdb_​account_​waitedcounterNumber of accounts that were needed for transaction execution but were concurrently loading into cache by another transaction, causing the transaction to wait
execle_​accdb_​batch_​acquiredcounterNumber of fd_accdb_acquire (batch acquire) calls made by this tile
execle_​accdb_​acquire_​failedcounterNumber of times we failed to acquire the cache lines needed for a transaction, and had to spin loop waiting
execle_​accdb_​bytes_​readcounterNumber of bytes read from the account database
execle_​accdb_​read_​operationcounterNumber of read operations performed on the account database
execle_​accdb_​bytes_​writtencounterNumber of bytes written to the account database
execle_​accdb_​write_​operationcounterNumber of write operations performed on the account database
execle_​accdb_​bytes_​copiedcounterNumber of bytes copied within the account database

Poh Tile

MetricTypeDescription

Sign Tile

MetricTypeDescription
sign_​sign_​duration_​secondshistogramDuration of signing a message

Shred Tile

MetricTypeDescription
shred_​contact_​info_​per_​messagehistogramContact infos in the cluster contact info message
shred_​microblock_​abandonedcounterMicroblocks abandoned because we switched slots without finishing the current slot
shred_​block_​id_​invalidcounterTimes a block was created with unknown parent block_id
shred_​batch_​size_​byteshistogramSize of each microblock batch that is shredded, in bytes
shred_​microblock_​per_​batchhistogramMicroblocks in each microblock batch that is shredded
shred_​shredding_​duration_​secondshistogramDuration of producing one FEC set from the shredder
shred_​add_​shred_​duration_​secondshistogramDuration of verifying and processing one shred received from the network
shred_​shred_​processed
{shred_​processing_​result="bad_​slot"}
counterResult of processing a shred from the network (Shred was for a slot for which we don't know the leader)
shred_​shred_​processed
{shred_​processing_​result="parse_​failed"}
counterResult of processing a shred from the network (Shred parsing failed)
shred_​shred_​processed
{shred_​processing_​result="equivocated"}
counterResult of processing a shred from the network (Shred was equivocated with another shred)
shred_​shred_​processed
{shred_​processing_​result="rejected"}
counterResult of processing a shred from the network (Shred was invalid for one of many reasons)
shred_​shred_​processed
{shred_​processing_​result="ignored"}
counterResult of processing a shred from the network (Shred was ignored because we had already reconstructed the FEC set, or was for an old slot)
shred_​shred_​processed
{shred_​processing_​result="duplicate"}
counterResult of processing a shred from the network (Shred was a duplicate of a previously received valid shred of an incomplete FEC set)
shred_​shred_​processed
{shred_​processing_​result="okay"}
counterResult of processing a shred from the network (Shred accepted to an incomplete FEC set)
shred_​shred_​processed
{shred_​processing_​result="completes"}
counterResult of processing a shred from the network (Shred accepted and resulted in a valid, complete FEC set)
shred_​fec_​spilledcounterFEC sets spilled because they didn't complete in time and we needed space
shred_​shred_​initial_​rejectedcounterShreds rejected before any resources were allocated for the FEC set
shred_​shred_​unchained_​rejectedcounterShreds rejected because they're not chained merkle shreds
shred_​fec_​fatal_​rejectedcounterFEC sets rejected for reasons that cause the whole FEC set to become invalid
shred_​nonce_​invalidcounterShreds received that seemed to be repair responses but had an incorrect nonce
shred_​shred_​repair_​rxcounterRepair shreds received
shred_​shred_​repair_​rx_​bytescounterBytes received from network packets with repair shreds, including network headers
shred_​shred_​turbine_​rxcounterTurbine shreds received
shred_​shred_​turbine_​rx_​bytescounterBytes received from network packets with turbine shreds, including network headers

Gossvf Tile

MetricTypeDescription
gossvf_​message_​rx
{gossvf_​message_​outcome="success_​pull_​request"}
counterGossip messages processed (Pull Request (success))
gossvf_​message_​rx
{gossvf_​message_​outcome="success_​pull_​response"}
counterGossip messages processed (Pull Response (success))
gossvf_​message_​rx
{gossvf_​message_​outcome="success_​push"}
counterGossip messages processed (Push (success))
gossvf_​message_​rx
{gossvf_​message_​outcome="success_​prune"}
counterGossip messages processed (Prune (success))
gossvf_​message_​rx
{gossvf_​message_​outcome="success_​ping"}
counterGossip messages processed (Ping (success))
gossvf_​message_​rx
{gossvf_​message_​outcome="success_​pong"}
counterGossip messages processed (Pong (success))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​unparseable"}
counterGossip messages processed (Unparseable)
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​request_​not_​contact_​info"}
counterGossip messages processed (Pull Request (not contact info))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​request_​loopback"}
counterGossip messages processed (Pull Request (loopback))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​request_​inactive"}
counterGossip messages processed (Pull Request (inactive))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​request_​wallclock"}
counterGossip messages processed (Pull Request (wallclock))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​request_​signature"}
counterGossip messages processed (Pull Request (signature))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​request_​shred_​version"}
counterGossip messages processed (Pull Request (shred version))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​request_​mask_​bits"}
counterGossip messages processed (Pull Request (mask bits))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​prune_​destination"}
counterGossip messages processed (Prune (destination))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​prune_​wallclock"}
counterGossip messages processed (Prune (wallclock))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​prune_​signature"}
counterGossip messages processed (Prune (signature))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​push_​loopback"}
counterGossip messages processed (Push (loopback))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​push_​no_​valid_​crds"}
counterGossip messages processed (Push (no valid crds))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​response_​loopback"}
counterGossip messages processed (Pull Response (loopback))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pull_​response_​no_​valid_​crds"}
counterGossip messages processed (Pull Response (no valid crds))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​ping_​signature"}
counterGossip messages processed (Ping (signature))
gossvf_​message_​rx
{gossvf_​message_​outcome="dropped_​pong_​signature"}
counterGossip messages processed (Pong (signature))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="success_​pull_​request"}
counterWire bytes of gossip messages processed (Pull Request (success))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="success_​pull_​response"}
counterWire bytes of gossip messages processed (Pull Response (success))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="success_​push"}
counterWire bytes of gossip messages processed (Push (success))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="success_​prune"}
counterWire bytes of gossip messages processed (Prune (success))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="success_​ping"}
counterWire bytes of gossip messages processed (Ping (success))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="success_​pong"}
counterWire bytes of gossip messages processed (Pong (success))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​unparseable"}
counterWire bytes of gossip messages processed (Unparseable)
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​request_​not_​contact_​info"}
counterWire bytes of gossip messages processed (Pull Request (not contact info))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​request_​loopback"}
counterWire bytes of gossip messages processed (Pull Request (loopback))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​request_​inactive"}
counterWire bytes of gossip messages processed (Pull Request (inactive))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​request_​wallclock"}
counterWire bytes of gossip messages processed (Pull Request (wallclock))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​request_​signature"}
counterWire bytes of gossip messages processed (Pull Request (signature))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​request_​shred_​version"}
counterWire bytes of gossip messages processed (Pull Request (shred version))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​request_​mask_​bits"}
counterWire bytes of gossip messages processed (Pull Request (mask bits))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​prune_​destination"}
counterWire bytes of gossip messages processed (Prune (destination))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​prune_​wallclock"}
counterWire bytes of gossip messages processed (Prune (wallclock))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​prune_​signature"}
counterWire bytes of gossip messages processed (Prune (signature))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​push_​loopback"}
counterWire bytes of gossip messages processed (Push (loopback))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​push_​no_​valid_​crds"}
counterWire bytes of gossip messages processed (Push (no valid crds))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​response_​loopback"}
counterWire bytes of gossip messages processed (Pull Response (loopback))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pull_​response_​no_​valid_​crds"}
counterWire bytes of gossip messages processed (Pull Response (no valid crds))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​ping_​signature"}
counterWire bytes of gossip messages processed (Ping (signature))
gossvf_​message_​rx_​bytes
{gossvf_​message_​outcome="dropped_​pong_​signature"}
counterWire bytes of gossip messages processed (Pong (signature))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="success_​pull_​response"}
counterCRDS values processed (Pull Response (success))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="success_​push"}
counterCRDS values processed (Push (success))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​pull_​response_​duplicate"}
counterCRDS values processed (Pull Response (duplicate))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​pull_​response_​signature"}
counterCRDS values processed (Pull Response (signature))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​pull_​response_​origin_​no_​contact_​info"}
counterCRDS values processed (Pull Response (origin no contact info))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​pull_​response_​origin_​shred_​version"}
counterCRDS values processed (Pull Response (origin shred version))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​pull_​response_​inactive"}
counterCRDS values processed (Pull Response (inactive))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​pull_​response_​wallclock"}
counterCRDS values processed (Pull Response (wallclock))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​push_​signature"}
counterCRDS values processed (Push (signature))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​push_​origin_​no_​contact_​info"}
counterCRDS values processed (Push (origin no contact info))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​push_​origin_​shred_​version"}
counterCRDS values processed (Push (origin shred version))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​push_​inactive"}
counterCRDS values processed (Push (inactive))
gossvf_​crds_​rx
{gossvf_​crds_​outcome="dropped_​push_​wallclock"}
counterCRDS values processed (Push (wallclock))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="success_​pull_​response"}
counterWire bytes of CRDS values processed (Pull Response (success))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="success_​push"}
counterWire bytes of CRDS values processed (Push (success))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​pull_​response_​duplicate"}
counterWire bytes of CRDS values processed (Pull Response (duplicate))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​pull_​response_​signature"}
counterWire bytes of CRDS values processed (Pull Response (signature))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​pull_​response_​origin_​no_​contact_​info"}
counterWire bytes of CRDS values processed (Pull Response (origin no contact info))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​pull_​response_​origin_​shred_​version"}
counterWire bytes of CRDS values processed (Pull Response (origin shred version))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​pull_​response_​inactive"}
counterWire bytes of CRDS values processed (Pull Response (inactive))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​pull_​response_​wallclock"}
counterWire bytes of CRDS values processed (Pull Response (wallclock))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​push_​signature"}
counterWire bytes of CRDS values processed (Push (signature))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​push_​origin_​no_​contact_​info"}
counterWire bytes of CRDS values processed (Push (origin no contact info))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​push_​origin_​shred_​version"}
counterWire bytes of CRDS values processed (Push (origin shred version))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​push_​inactive"}
counterWire bytes of CRDS values processed (Push (inactive))
gossvf_​crds_​rx_​bytes
{gossvf_​crds_​outcome="dropped_​push_​wallclock"}
counterWire bytes of CRDS values processed (Push (wallclock))

Gossip Tile

MetricTypeDescription
gossip_​ping_​tracker_​capacitygaugePeer tracking capacity of the ping tracker
gossip_​ping_​tracked
{ping_​tracked_​type="unpinged"}
gaugePeers being tracked for ping/pong (Peer is known but has not been pinged yet)
gossip_​ping_​tracked
{ping_​tracked_​type="invalid"}
gaugePeers being tracked for ping/pong (Peer was pinged but has not yet responded, or responded with an invalid pong)
gossip_​ping_​tracked
{ping_​tracked_​type="valid"}
gaugePeers being tracked for ping/pong (Peer was pinged and is currently valid)
gossip_​ping_​tracked
{ping_​tracked_​type="valid_​refreshing"}
gaugePeers being tracked for ping/pong (Peer was pinged and is currently valid, and is being refreshed with a new ping)
gossip_​ping_​tracker_​pong_​result
{pong_​response="staked"}
counterResult of processing a pong response to a ping (Pong ignored as node is staked)
gossip_​ping_​tracker_​pong_​result
{pong_​response="entrypoint"}
counterResult of processing a pong response to a ping (Pong ignored as node is an entrypoint)
gossip_​ping_​tracker_​pong_​result
{pong_​response="untracked"}
counterResult of processing a pong response to a ping (Pong ignored as node has no outstanding ping)
gossip_​ping_​tracker_​pong_​result
{pong_​response="address"}
counterResult of processing a pong response to a ping (Pong ignored as responding node doesn't match pinged address)
gossip_​ping_​tracker_​pong_​result
{pong_​response="token"}
counterResult of processing a pong response to a ping (Pong ignored as token was not valid)
gossip_​ping_​tracker_​pong_​result
{pong_​response="success"}
counterResult of processing a pong response to a ping (Pong accepted)
gossip_​ping_​tracker_​evictedcounterPeers evicted from the ping tracker to make space for new peers
gossip_​ping_​tracker_​addedcounterPeers ever tracked for ping/pong
gossip_​ping_​tracker_​stake_​changedcounterTimes a tracked peer was removed from tracking because it became staked
gossip_​ping_​tracker_​address_​changedcounterTimes a tracked peer was removed from tracking because its gossip address changed
gossip_​crds_​capacitygaugeCapacity of the data store
gossip_​crds_​occupied
{crds_​value="contact_​info_​v1"}
gaugeEntries in the data store (Contact Info V1)
gossip_​crds_​occupied
{crds_​value="vote"}
gaugeEntries in the data store (Vote)
gossip_​crds_​occupied
{crds_​value="lowest_​slot"}
gaugeEntries in the data store (Lowest Slot)
gossip_​crds_​occupied
{crds_​value="snapshot_​hashes"}
gaugeEntries in the data store (Snapshot Hashes)
gossip_​crds_​occupied
{crds_​value="accounts_​hashes"}
gaugeEntries in the data store (Accounts Hashes)
gossip_​crds_​occupied
{crds_​value="epoch_​slots"}
gaugeEntries in the data store (Epoch Slots)
gossip_​crds_​occupied
{crds_​value="version_​v1"}
gaugeEntries in the data store (Version V1)
gossip_​crds_​occupied
{crds_​value="version_​v2"}
gaugeEntries in the data store (Version V2)
gossip_​crds_​occupied
{crds_​value="node_​instance"}
gaugeEntries in the data store (Node Instance)
gossip_​crds_​occupied
{crds_​value="duplicate_​shred"}
gaugeEntries in the data store (Duplicate Shred)
gossip_​crds_​occupied
{crds_​value="incremental_​snapshot_​hashes"}
gaugeEntries in the data store (Incremental Snapshot Hashes)
gossip_​crds_​occupied
{crds_​value="contact_​info_​v2"}
gaugeEntries in the data store (Contact Info V2)
gossip_​crds_​occupied
{crds_​value="restart_​last_​voted_​fork_​slots"}
gaugeEntries in the data store (Restart Last Voted Fork Slots)
gossip_​crds_​occupied
{crds_​value="restart_​heaviest_​fork"}
gaugeEntries in the data store (Restart Heaviest Fork)
gossip_​crds_​expiredcounterEntries expired from the data store due to age
gossip_​crds_​evictedcounterEntries evicted from the data store to make space for new entries
gossip_​crds_​peer_​capacitygaugeCapacity for storing peers in the data store
gossip_​crds_​peer_​stakedgaugeStaked peers in the data store
gossip_​crds_​peer_​unstakedgaugeUnstaked peers in the data store
gossip_​crds_​peer_​stakegaugeTotal visible stake in the data store, in lamports
gossip_​crds_​peer_​evictedcounterPeers evicted from the data store to make space for new peers
gossip_​crds_​purged_​capacitygaugeCapacity of the list of purged data store entries
gossip_​crds_​purged_​occupiedgaugePurged data store entries
gossip_​crds_​purged_​expiredcounterPurged entries expired from the purged list due to age
gossip_​crds_​purged_​evictedcounterPurged entries evicted from the data store to make space for new entries
gossip_​crds_​rx
{gossip_​crds_​outcome="upserted_​pull_​response"}
counterOutcome of incoming CRDS messages (Pull Response (upserted))
gossip_​crds_​rx
{gossip_​crds_​outcome="upserted_​push"}
counterOutcome of incoming CRDS messages (Push (upserted))
gossip_​crds_​rx
{gossip_​crds_​outcome="dropped_​pull_​response_​stale"}
counterOutcome of incoming CRDS messages (Pull Response (newer entry already present in table))
gossip_​crds_​rx
{gossip_​crds_​outcome="dropped_​pull_​response_​duplicate"}
counterOutcome of incoming CRDS messages (Pull Response (duplicate))
gossip_​crds_​rx
{gossip_​crds_​outcome="dropped_​push_​stale"}
counterOutcome of incoming CRDS messages (Push (newer entry already present in table))
gossip_​crds_​rx
{gossip_​crds_​outcome="dropped_​push_​duplicate"}
counterOutcome of incoming CRDS messages (Push (duplicate))
gossip_​message_​tx
{gossip_​message="pull_​request"}
counterGossip messages sent (Pull Request)
gossip_​message_​tx
{gossip_​message="pull_​response"}
counterGossip messages sent (Pull Response)
gossip_​message_​tx
{gossip_​message="push"}
counterGossip messages sent (Push)
gossip_​message_​tx
{gossip_​message="prune"}
counterGossip messages sent (Prune)
gossip_​message_​tx
{gossip_​message="ping"}
counterGossip messages sent (Ping)
gossip_​message_​tx
{gossip_​message="pong"}
counterGossip messages sent (Pong)
gossip_​message_​tx_​bytes
{gossip_​message="pull_​request"}
counterWire bytes sent in gossip messages (Pull Request)
gossip_​message_​tx_​bytes
{gossip_​message="pull_​response"}
counterWire bytes sent in gossip messages (Pull Response)
gossip_​message_​tx_​bytes
{gossip_​message="push"}
counterWire bytes sent in gossip messages (Push)
gossip_​message_​tx_​bytes
{gossip_​message="prune"}
counterWire bytes sent in gossip messages (Prune)
gossip_​message_​tx_​bytes
{gossip_​message="ping"}
counterWire bytes sent in gossip messages (Ping)
gossip_​message_​tx_​bytes
{gossip_​message="pong"}
counterWire bytes sent in gossip messages (Pong)
gossip_​crds_​push_​tx
{crds_​value="contact_​info_​v1"}
counterCRDS values sent in push messages (Contact Info V1)
gossip_​crds_​push_​tx
{crds_​value="vote"}
counterCRDS values sent in push messages (Vote)
gossip_​crds_​push_​tx
{crds_​value="lowest_​slot"}
counterCRDS values sent in push messages (Lowest Slot)
gossip_​crds_​push_​tx
{crds_​value="snapshot_​hashes"}
counterCRDS values sent in push messages (Snapshot Hashes)
gossip_​crds_​push_​tx
{crds_​value="accounts_​hashes"}
counterCRDS values sent in push messages (Accounts Hashes)
gossip_​crds_​push_​tx
{crds_​value="epoch_​slots"}
counterCRDS values sent in push messages (Epoch Slots)
gossip_​crds_​push_​tx
{crds_​value="version_​v1"}
counterCRDS values sent in push messages (Version V1)
gossip_​crds_​push_​tx
{crds_​value="version_​v2"}
counterCRDS values sent in push messages (Version V2)
gossip_​crds_​push_​tx
{crds_​value="node_​instance"}
counterCRDS values sent in push messages (Node Instance)
gossip_​crds_​push_​tx
{crds_​value="duplicate_​shred"}
counterCRDS values sent in push messages (Duplicate Shred)
gossip_​crds_​push_​tx
{crds_​value="incremental_​snapshot_​hashes"}
counterCRDS values sent in push messages (Incremental Snapshot Hashes)
gossip_​crds_​push_​tx
{crds_​value="contact_​info_​v2"}
counterCRDS values sent in push messages (Contact Info V2)
gossip_​crds_​push_​tx
{crds_​value="restart_​last_​voted_​fork_​slots"}
counterCRDS values sent in push messages (Restart Last Voted Fork Slots)
gossip_​crds_​push_​tx
{crds_​value="restart_​heaviest_​fork"}
counterCRDS values sent in push messages (Restart Heaviest Fork)
gossip_​crds_​push_​tx_​bytes
{crds_​value="contact_​info_​v1"}
counterWire bytes of CRDS sent in push messages (Contact Info V1)
gossip_​crds_​push_​tx_​bytes
{crds_​value="vote"}
counterWire bytes of CRDS sent in push messages (Vote)
gossip_​crds_​push_​tx_​bytes
{crds_​value="lowest_​slot"}
counterWire bytes of CRDS sent in push messages (Lowest Slot)
gossip_​crds_​push_​tx_​bytes
{crds_​value="snapshot_​hashes"}
counterWire bytes of CRDS sent in push messages (Snapshot Hashes)
gossip_​crds_​push_​tx_​bytes
{crds_​value="accounts_​hashes"}
counterWire bytes of CRDS sent in push messages (Accounts Hashes)
gossip_​crds_​push_​tx_​bytes
{crds_​value="epoch_​slots"}
counterWire bytes of CRDS sent in push messages (Epoch Slots)
gossip_​crds_​push_​tx_​bytes
{crds_​value="version_​v1"}
counterWire bytes of CRDS sent in push messages (Version V1)
gossip_​crds_​push_​tx_​bytes
{crds_​value="version_​v2"}
counterWire bytes of CRDS sent in push messages (Version V2)
gossip_​crds_​push_​tx_​bytes
{crds_​value="node_​instance"}
counterWire bytes of CRDS sent in push messages (Node Instance)
gossip_​crds_​push_​tx_​bytes
{crds_​value="duplicate_​shred"}
counterWire bytes of CRDS sent in push messages (Duplicate Shred)
gossip_​crds_​push_​tx_​bytes
{crds_​value="incremental_​snapshot_​hashes"}
counterWire bytes of CRDS sent in push messages (Incremental Snapshot Hashes)
gossip_​crds_​push_​tx_​bytes
{crds_​value="contact_​info_​v2"}
counterWire bytes of CRDS sent in push messages (Contact Info V2)
gossip_​crds_​push_​tx_​bytes
{crds_​value="restart_​last_​voted_​fork_​slots"}
counterWire bytes of CRDS sent in push messages (Restart Last Voted Fork Slots)
gossip_​crds_​push_​tx_​bytes
{crds_​value="restart_​heaviest_​fork"}
counterWire bytes of CRDS sent in push messages (Restart Heaviest Fork)
gossip_​crds_​pull_​response_​tx
{crds_​value="contact_​info_​v1"}
counterCRDS values sent in pull response messages (Contact Info V1)
gossip_​crds_​pull_​response_​tx
{crds_​value="vote"}
counterCRDS values sent in pull response messages (Vote)
gossip_​crds_​pull_​response_​tx
{crds_​value="lowest_​slot"}
counterCRDS values sent in pull response messages (Lowest Slot)
gossip_​crds_​pull_​response_​tx
{crds_​value="snapshot_​hashes"}
counterCRDS values sent in pull response messages (Snapshot Hashes)
gossip_​crds_​pull_​response_​tx
{crds_​value="accounts_​hashes"}
counterCRDS values sent in pull response messages (Accounts Hashes)
gossip_​crds_​pull_​response_​tx
{crds_​value="epoch_​slots"}
counterCRDS values sent in pull response messages (Epoch Slots)
gossip_​crds_​pull_​response_​tx
{crds_​value="version_​v1"}
counterCRDS values sent in pull response messages (Version V1)
gossip_​crds_​pull_​response_​tx
{crds_​value="version_​v2"}
counterCRDS values sent in pull response messages (Version V2)
gossip_​crds_​pull_​response_​tx
{crds_​value="node_​instance"}
counterCRDS values sent in pull response messages (Node Instance)
gossip_​crds_​pull_​response_​tx
{crds_​value="duplicate_​shred"}
counterCRDS values sent in pull response messages (Duplicate Shred)
gossip_​crds_​pull_​response_​tx
{crds_​value="incremental_​snapshot_​hashes"}
counterCRDS values sent in pull response messages (Incremental Snapshot Hashes)
gossip_​crds_​pull_​response_​tx
{crds_​value="contact_​info_​v2"}
counterCRDS values sent in pull response messages (Contact Info V2)
gossip_​crds_​pull_​response_​tx
{crds_​value="restart_​last_​voted_​fork_​slots"}
counterCRDS values sent in pull response messages (Restart Last Voted Fork Slots)
gossip_​crds_​pull_​response_​tx
{crds_​value="restart_​heaviest_​fork"}
counterCRDS values sent in pull response messages (Restart Heaviest Fork)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="contact_​info_​v1"}
counterWire bytes of CRDS sent in pull response messages (Contact Info V1)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="vote"}
counterWire bytes of CRDS sent in pull response messages (Vote)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="lowest_​slot"}
counterWire bytes of CRDS sent in pull response messages (Lowest Slot)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="snapshot_​hashes"}
counterWire bytes of CRDS sent in pull response messages (Snapshot Hashes)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="accounts_​hashes"}
counterWire bytes of CRDS sent in pull response messages (Accounts Hashes)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="epoch_​slots"}
counterWire bytes of CRDS sent in pull response messages (Epoch Slots)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="version_​v1"}
counterWire bytes of CRDS sent in pull response messages (Version V1)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="version_​v2"}
counterWire bytes of CRDS sent in pull response messages (Version V2)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="node_​instance"}
counterWire bytes of CRDS sent in pull response messages (Node Instance)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="duplicate_​shred"}
counterWire bytes of CRDS sent in pull response messages (Duplicate Shred)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="incremental_​snapshot_​hashes"}
counterWire bytes of CRDS sent in pull response messages (Incremental Snapshot Hashes)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="contact_​info_​v2"}
counterWire bytes of CRDS sent in pull response messages (Contact Info V2)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="restart_​last_​voted_​fork_​slots"}
counterWire bytes of CRDS sent in pull response messages (Restart Last Voted Fork Slots)
gossip_​crds_​pull_​response_​tx_​bytes
{crds_​value="restart_​heaviest_​fork"}
counterWire bytes of CRDS sent in pull response messages (Restart Heaviest Fork)
gossip_​wait_​for_​supermajority_​staked_​peer_​onlinegaugeStaked peers with recent gossip activity
gossip_​wait_​for_​supermajority_​staked_​peer_​totalgaugeStaked peers being tracked
gossip_​wait_​for_​supermajority_​stake_​onlinegaugeLamports of stake from peers with recent gossip activity
gossip_​wait_​for_​supermajority_​stake_​totalgaugeTotal lamports of stake being tracked
gossip_​wait_​for_​supermajority_​stategauge1=init, 2=wait, 3=publish, 4=done

Repair Tile

MetricTypeDescription
repair_​pkt_​txcounterNetwork packets sent, including reqs, pings, pongs, etc
repair_​request_​tx
{repair_​sent_​request_​type="needed_​window"}
counterClient messages sent, by type (Need Window)
repair_​request_​tx
{repair_​sent_​request_​type="needed_​highest_​window"}
counterClient messages sent, by type (Need Highest Window)
repair_​request_​tx
{repair_​sent_​request_​type="needed_​orphan"}
counterClient messages sent, by type (Need Orphans)
repair_​request_​tx
{repair_​sent_​request_​type="pong"}
counterClient messages sent, by type (Pong)
repair_​slot_​highest_​repairedgaugeHighest slot up to which we have fully repaired
repair_​slot_​currentgaugeOur view of the current cluster slot, max slot received
repair_​shred_​oldcounterShreds received that were older than the root
repair_​slot_​last_​requestedgaugeLast slot we requested a single shred for
repair_​orphan_​last_​requestedgaugeLast slot we requested an orphan for
repair_​request_​inflightgaugeRequests currently in the inflight queue, excluding orphans and highest window requests
repair_​peer_​requestedcounterPeers requested
repair_​sign_​tile_​unavailablecounterTimes no sign tiles were available to send a request
repair_​eager_​threshold_​exceededcounterTimes we passed the eager repair threshold
repair_​shred_​rerequestedcounterTimes we re-requested a shred from the inflights queue
repair_​ping_​malformedcounterMalformed pings received
repair_​ping_​unknown_​peercounterPings received from an unknown peer
repair_​ping_​signature_​failedcounterPings whose signature we failed to verify
repair_​slot_​complete_​duration_​secondshistogramTime it took to complete a slot
repair_​response_​latency_​nanoshistogramTime it took to receive a repair request response, in nanoseconds
repair_​sign_​duration_​secondshistogramDuration of signing a message
repair_​block_​evictedcounterBlocks evicted from the forest
repair_​block_​insert_​failedcounterBlocks we failed to insert into the forest due to failed eviction
repair_​slot_​last_​evictedgaugeMost recent slot evicted from forest
repair_​slot_​last_​eviction_​causegaugeSlot that caused the most recent eviction from forest
repair_​slot_​last_​insert_​failedgaugeMost recent slot we failed to insert into the forest
repair_​chain_​verify_​failedcounterTimes any block failed chained merkle verification
repair_​slot_​last_​chain_​verify_​failedgaugeMost recent slot that failed chained merkle verification

Rserve Tile

MetricTypeDescription
rserve_​received_​request_​count
{rserve_​request_​types="pong"}
counterTotal repair requests received by type, before any validation (Pong)
rserve_​received_​request_​count
{rserve_​request_​types="window_​index"}
counterTotal repair requests received by type, before any validation (Window Index)
rserve_​received_​request_​count
{rserve_​request_​types="highest_​window_​index"}
counterTotal repair requests received by type, before any validation (Highest Window Index)
rserve_​received_​request_​count
{rserve_​request_​types="orphan"}
counterTotal repair requests received by type, before any validation (Orphan)
rserve_​received_​request_​bytescounterTotal bytes of incoming repair request payloads
rserve_​received_​malformed_​count
{rserve_​malformed_​types="too_​small"}
counterPackets dropped for being malformed, broken down by reason (Too Small)
rserve_​received_​malformed_​count
{rserve_​malformed_​types="ping"}
counterPackets dropped for being malformed, broken down by reason (Ping)
rserve_​received_​malformed_​count
{rserve_​malformed_​types="unknown_​tag"}
counterPackets dropped for being malformed, broken down by reason (Unknown Tag)
rserve_​received_​malformed_​count
{rserve_​malformed_​types="wrong_​size"}
counterPackets dropped for being malformed, broken down by reason (Wrong Size)
rserve_​received_​malformed_​count
{rserve_​malformed_​types="ancestor_​hashes"}
counterPackets dropped for being malformed, broken down by reason (Ancestor Hashes)
rserve_​total_​pkt_​countcounterHow many network packets we have sent, including pings, responses, etc
rserve_​sent_​response_​types
{rserve_​sent_​response_​types="ping"}
counterWhat types of response messages are we sending (Ping)
rserve_​sent_​response_​types
{rserve_​sent_​response_​types="window"}
counterWhat types of response messages are we sending (Window)
rserve_​sent_​response_​types
{rserve_​sent_​response_​types="highest_​window"}
counterWhat types of response messages are we sending (Highest Window)
rserve_​sent_​response_​types
{rserve_​sent_​response_​types="orphan"}
counterWhat types of response messages are we sending (Orphan)
rserve_​sent_​response_​bytescounterTotal payload bytes sent in response packets
rserve_​sent_​ping_​back_​countcounterHow many ping-back packets we sent to nodes not yet in the ping cache
rserve_​missed_​response_​types
{rserve_​sent_​response_​types="ping"}
counterWhat types of response messages could we not fulfill (Ping)
rserve_​missed_​response_​types
{rserve_​sent_​response_​types="window"}
counterWhat types of response messages could we not fulfill (Window)
rserve_​missed_​response_​types
{rserve_​sent_​response_​types="highest_​window"}
counterWhat types of response messages could we not fulfill (Highest Window)
rserve_​missed_​response_​types
{rserve_​sent_​response_​types="orphan"}
counterWhat types of response messages could we not fulfill (Orphan)
rserve_​failed_​sigverifycounterHow many times we failed to verify the signature of a request
rserve_​failed_​own_​keycounterHow many requests we've received that were sent by us
rserve_​failed_​invalid_​tokencounterHow many pong requests we've received with outdated or invalid tokens
rserve_​failed_​not_​for_​uscounterHow many requests we've received that were not intended for us
rserve_​failed_​outdatedcounterHow many requests we've received that had outdated timestamps
rserve_​failed_​invalid_​shred_​indexcounterHow many requests we've received that had invalid shred indices
rserve_​failed_​ping_​cache_​lookupcounterRequests from nodes not in the ping cache, which triggered a ping-back instead of a response
rserve_​shreds_​currentgaugeThe number of shreds currently in the shreds database
rserve_​shreds_​maxgaugeTotal capacity of shreds that can be stored in the shreds database
rserve_​disk_​current_​bytesgaugeThe number of bytes currently used on disk by the database
rserve_​disk_​allocated_​bytesgaugeThe current size of the database file on disk
rserve_​ping_​cache_​entriescounterHow many active entries do we have in the ping cache
rserve_​ping_​cache_​evictionscounterHow many entries we've evicted from the ping cache

Replay Tile

MetricTypeDescription
replay_​store_​query_​acquiredcounterStore slock acquires for query
replay_​store_​query_​releasedcounterStore slock releases for query
replay_​store_​query_​wait_​secondshistogramTime spent waiting to acquire the slock for query
replay_​store_​query_​work_​secondshistogramTime spent working before releasing the slock for query
replay_​store_​queriedcounterQueries
replay_​store_​query_​missingcounterQueries where merkle root was missing
replay_​store_​query_​merkle_​root_​samplegaugeFirst 8 bytes of most recently queried merkle root
replay_​store_​query_​missing_​merkle_​root_​samplegaugeFirst 8 bytes of most recently queried missing merkle root
replay_​root_​slotgaugeSlot at which our node has most recently rooted
replay_​root_​distancegaugeDistance in slots between our current root and the current reset slot
replay_​leader_​slotgaugeSlot at which we are currently leader, or 0 if none
replay_​next_​leader_​slotgaugeSlot at which we are next leader, or 0 if none. If we are currently leader, this is the same as the current leader slot
replay_​reset_​slotgaugeSlot at which we last reset the replay stage, or 0 if unknown
replay_​bank_​live_​maxgaugeMaximum number of banks we can have alive
replay_​bank_​livegaugeBanks we currently have alive
replay_​reassembly_​freegaugeFree FEC sets in the reassembly queue
replay_​reassembly_​latest_​slotgaugeSlot of the latest FEC set in the reassembly queue that can be replayed
replay_​reassembly_​latest_​fec_​indexgaugeFEC set index of the latest FEC set in the reassembly queue that can be replayed
replay_​sched_​active_​bank_​indexgaugeBank that the replay scheduler is currently dispatching work for
replay_​sched_​last_​dispatch_​bank_​indexgaugeBank that the replay scheduler last dispatched work for
replay_​sched_​last_​dispatch_​timestamp_​nanosgaugeTimestamp when the replay scheduler last dispatched work, in nanoseconds
replay_​sched_​staging_​lane_​occupiedgaugeStaging lanes currently occupied in the replay scheduler. Up to four staging lanes can be occupied at once
replay_​sched_​staging_​lane_​occupied_​watermarkgaugeHigh watermark of staging lanes that were at one point occupied in the replay scheduler
replay_​sched_​staging_​lane_​head_​bank_​index
{staging_​lane="lane0"}
gaugeBank at the head of each staging lane of the replay dispatcher (Staging lane 0)
replay_​sched_​staging_​lane_​head_​bank_​index
{staging_​lane="lane1"}
gaugeBank at the head of each staging lane of the replay dispatcher (Staging lane 1)
replay_​sched_​staging_​lane_​head_​bank_​index
{staging_​lane="lane2"}
gaugeBank at the head of each staging lane of the replay dispatcher (Staging lane 2)
replay_​sched_​staging_​lane_​head_​bank_​index
{staging_​lane="lane3"}
gaugeBank at the head of each staging lane of the replay dispatcher (Staging lane 3)
replay_​sched_​txn_​pool_​occupiedgaugeTransactions available to be scheduled in the replay scheduler
replay_​sched_​txn_​pool_​sizegaugeMaximum number of transactions the replay scheduler can consider. Fixed at Firedancer startup but a useful reference for SchedTxnPoolOccupied
replay_​sched_​microblock_​pool_​occupiedgaugeMicroblocks available to be scheduled in the replay scheduler
replay_​sched_​microblock_​pool_​sizegaugeMaximum number of microblocks the replay scheduler can consider. Fixed at Firedancer startup but a useful reference for SchedMicroblockPoolOccupied
replay_​sched_​block_​pool_​occupiedgaugeBlocks alive in the replay scheduler
replay_​sched_​block_​pool_​sizegaugeMaximum number of blocks the replay scheduler can keep track of. Fixed at Firedancer startup but a useful reference for SchedBlockPoolOccupied
replay_​sched_​block_​added
{sched_​block_​staging="staged"}
counterBlocks added to the replay scheduler, by staging state (Added as staged)
replay_​sched_​block_​added
{sched_​block_​staging="unstaged"}
counterBlocks added to the replay scheduler, by staging state (Added as unstaged)
replay_​sched_​block_​replayedcounterBlocks the replay scheduler considers fully replayed
replay_​sched_​block_​abandonedcounterBlocks the replay scheduler abandoned for any reason
replay_​sched_​block_​rejectedcounterBlocks the replay scheduler considers bad
replay_​sched_​block_​promotedcounterBlocks the replay scheduler promoted from unstaged to a staging lane
replay_​sched_​block_​demotedcounterBlocks the replay scheduler demoted from a staging lane to unstaged
replay_​sched_​deactivate
{sched_​deactivate_​reason="no_​child"}
counterTimes the replay scheduler stopped dispatching, by reason (A block fully replayed and there was no child block available yet)
replay_​sched_​deactivate
{sched_​deactivate_​reason="no_​work"}
counterTimes the replay scheduler stopped dispatching, by reason (A partially replayed block ran out of work to dispatch)
replay_​sched_​deactivate
{sched_​deactivate_​reason="abandoned"}
counterTimes the replay scheduler stopped dispatching, by reason (A block got abandoned for any reason)
replay_​sched_​deactivate
{sched_​deactivate_​reason="minority"}
counterTimes the replay scheduler stopped dispatching, by reason (A block got abandoned for being on a minority fork)
replay_​sched_​lane_​switchedcounterTimes the replay scheduler switched the lane it is dispatching from
replay_​sched_​lane_​promotedcounterTimes the replay scheduler promoted one or more blocks onto a staging lane
replay_​sched_​lane_​demotedcounterTimes the replay scheduler demoted one or more blocks from a staging lane
replay_​sched_​fork_​observedcounterForks the replay scheduler has observed
replay_​sched_​alut
{sched_​alut_​result="success"}
counterTransactions with address lookup tables the replay scheduler tried to expand, by outcome (Address lookup tables expanded successfully)
replay_​sched_​alut
{sched_​alut_​result="failed"}
counterTransactions with address lookup tables the replay scheduler tried to expand, by outcome (Address lookup table expansion failed)
replay_​sched_​txn_​parsed_​abandonedcounterTransactions that were parsed but ended up being in abandoned blocks
replay_​sched_​txn_​executed_​abandonedcounterTransactions that were executed but ended up being in abandoned blocks
replay_​sched_​txn_​done_​abandonedcounterTransactions that were fully replayed but ended up being in abandoned blocks
replay_​sched_​weighted_​in_​flightcounterCumulative transactions in-flight from the replay scheduler's point of view, weighted by the duration of each transaction. Useful as the dividend for SchedWeightedInFlightDurationNanos
replay_​sched_​weighted_​in_​flight_​duration_​nanoscounterDuration over which SchedWeightedInFlight was accumulated, in nanoseconds. Use as divisor to get the average number of in-flight transactions
replay_​sched_​none_​in_​flight_​duration_​nanoscounterDuration the replay scheduler had no transaction in-flight, in nanoseconds. Useful in a ratio against SchedWeightedInFlightDurationNanos to see how often the replay transaction execution pipeline was idle
replay_​sched_​txn_​parsedcounterTransactions the replay pipeline has parsed
replay_​sched_​txn_​executedcounterTransactions the replay pipeline has executed
replay_​sched_​txn_​signature_​verifiedcounterTransactions the replay pipeline has sigverified
replay_​sched_​txn_​poh_​mixedcounterTransactions the replay pipeline has performed PoH mixin on
replay_​sched_​txn_​donecounterTransactions that were fully replayed
replay_​sched_​microblock_​parsedcounterMicroblocks the replay pipeline has parsed
replay_​sched_​microblock_​hashedcounterMicroblocks the replay pipeline has fully hashed
replay_​sched_​microblock_​donecounterMicroblocks that were fully replayed
replay_​sched_​bytes_​ingestedcounterBytes the replay scheduler has ingested
replay_​sched_​bytes_​ingested_​paddingcounterBytes the replay scheduler ingested but did not parse for being padding
replay_​sched_​bytes_​droppedcounterBytes the replay scheduler refused to ingest because the block is considered abandoned
replay_​sched_​fec_​ingestedcounterFEC sets the replay scheduler has been given
replay_​slot_​replayedcounterSlots replayed successfully or leader slots packed and shredded successfully
replay_​txn_​processedcounterTransactions processed overall on the current fork
replay_​fec_​sched_​fullcounterTimes sched is full and a FEC set can't be processed
replay_​fec_​reassembly_​emptycounterTimes reassembly is empty and a FEC set can't be processed
replay_​fec_​leader_​bid_​waitcounterTimes replay is blocked by the PoH tile not sending an end of leader message
replay_​fec_​bank_​fullcounterTimes banks are full and a FEC set can't be processed
replay_​storage_​root_​behindcounterTimes the storage root is behind the consensus root and can't be advanced
replay_​progcache_​rootedcounterProgram cache entries rooted
replay_​progcache_​gc_​rootcounterNumber of program cache entries garbage collected while rooting
replay_​progcache_​free_​partitiongaugeFree program cache heap partitions (indicates fragmentation)
replay_​progcache_​free_​bytesgaugeFree bytes in the program cache heap
replay_​progcache_​size_​bytesgaugeTotal size of the program cache heap
replay_​progcache_​free_​partition_​max_​bytesgaugeLargest free heap partition in program cache
replay_​progcache_​used_​partition_​median_​bytesgaugeMedian used heap partition size in program cache
replay_​progcache_​used_​partition_​mean_​bytesgaugeMean used heap partition size in program cache
replay_​progcache_​duration_​secondscounterTime spent doing program cache tasks, in seconds
replay_​accdb_​account_​acquired
{accdb_​cache_​class="class0"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (0-128 B)
replay_​accdb_​account_​acquired
{accdb_​cache_​class="class1"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (129-512 B)
replay_​accdb_​account_​acquired
{accdb_​cache_​class="class2"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
replay_​accdb_​account_​acquired
{accdb_​cache_​class="class3"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
replay_​accdb_​account_​acquired
{accdb_​cache_​class="class4"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
replay_​accdb_​account_​acquired
{accdb_​cache_​class="class5"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
replay_​accdb_​account_​acquired
{accdb_​cache_​class="class6"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
replay_​accdb_​account_​acquired
{accdb_​cache_​class="class7"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
replay_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class0"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (0-128 B)
replay_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class1"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (129-512 B)
replay_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class2"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
replay_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class3"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
replay_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class4"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
replay_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class5"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
replay_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class6"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
replay_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class7"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
replay_​accdb_​account_​evicted
{accdb_​cache_​class="class0"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (0-128 B)
replay_​accdb_​account_​evicted
{accdb_​cache_​class="class1"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (129-512 B)
replay_​accdb_​account_​evicted
{accdb_​cache_​class="class2"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (513 B-2 KiB)
replay_​accdb_​account_​evicted
{accdb_​cache_​class="class3"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (2-8 KiB)
replay_​accdb_​account_​evicted
{accdb_​cache_​class="class4"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (8-32 KiB)
replay_​accdb_​account_​evicted
{accdb_​cache_​class="class5"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (32-128 KiB)
replay_​accdb_​account_​evicted
{accdb_​cache_​class="class6"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (128 KiB-1 MiB)
replay_​accdb_​account_​evicted
{accdb_​cache_​class="class7"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (1-10 MiB)
replay_​accdb_​account_​committed_​new
{accdb_​cache_​class="class0"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (0-128 B)
replay_​accdb_​account_​committed_​new
{accdb_​cache_​class="class1"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (129-512 B)
replay_​accdb_​account_​committed_​new
{accdb_​cache_​class="class2"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (513 B-2 KiB)
replay_​accdb_​account_​committed_​new
{accdb_​cache_​class="class3"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (2-8 KiB)
replay_​accdb_​account_​committed_​new
{accdb_​cache_​class="class4"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (8-32 KiB)
replay_​accdb_​account_​committed_​new
{accdb_​cache_​class="class5"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (32-128 KiB)
replay_​accdb_​account_​committed_​new
{accdb_​cache_​class="class6"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (128 KiB-1 MiB)
replay_​accdb_​account_​committed_​new
{accdb_​cache_​class="class7"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (1-10 MiB)
replay_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class0"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (0-128 B)
replay_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class1"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (129-512 B)
replay_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class2"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (513 B-2 KiB)
replay_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class3"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (2-8 KiB)
replay_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class4"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (8-32 KiB)
replay_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class5"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (32-128 KiB)
replay_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class6"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (128 KiB-1 MiB)
replay_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class7"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (1-10 MiB)
replay_​accdb_​account_​not_​found
{accdb_​cache_​class="class0"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (0-128 B)
replay_​accdb_​account_​not_​found
{accdb_​cache_​class="class1"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (129-512 B)
replay_​accdb_​account_​not_​found
{accdb_​cache_​class="class2"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (513 B-2 KiB)
replay_​accdb_​account_​not_​found
{accdb_​cache_​class="class3"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (2-8 KiB)
replay_​accdb_​account_​not_​found
{accdb_​cache_​class="class4"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (8-32 KiB)
replay_​accdb_​account_​not_​found
{accdb_​cache_​class="class5"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (32-128 KiB)
replay_​accdb_​account_​not_​found
{accdb_​cache_​class="class6"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (128 KiB-1 MiB)
replay_​accdb_​account_​not_​found
{accdb_​cache_​class="class7"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (1-10 MiB)
replay_​accdb_​account_​waitedcounterNumber of accounts that were needed for transaction execution but were concurrently loading into cache by another transaction, causing the transaction to wait
replay_​accdb_​batch_​acquiredcounterNumber of fd_accdb_acquire (batch acquire) calls made by this tile
replay_​accdb_​acquire_​failedcounterNumber of times we failed to acquire the cache lines needed for a transaction, and had to spin loop waiting
replay_​accdb_​bytes_​readcounterNumber of bytes read from the account database
replay_​accdb_​read_​operationcounterNumber of read operations performed on the account database
replay_​accdb_​bytes_​writtencounterNumber of bytes written to the account database
replay_​accdb_​write_​operationcounterNumber of write operations performed on the account database
replay_​accdb_​bytes_​copiedcounterNumber of bytes copied within the account database
replay_​root_​account_​duration_​secondshistogramTime spent updating the rooted account store (one sample per block, normalized by account count)
replay_​root_​duration_​seconds
{root_​phase="copy"}
counterTime spent rooting accounts, in seconds (Copying account data)
replay_​root_​duration_​seconds
{root_​phase="garbage_​collect"}
counterTime spent rooting accounts, in seconds (Garbage collecting old account data)
replay_​runtime_​statusgauge0=initializing, 1=loaded

Execrp Tile

MetricTypeDescription
execrp_​processinggaugeWhether the tile is currently processing a task (executing, sigverifying, or PoH hashing), either 1 or 0
execrp_​txn_​result
{transaction_​result="success"}
counterResult of loading and executing a transaction (Transaction executed successfully)
execrp_​txn_​result
{transaction_​result="instruction_​error"}
counterResult of loading and executing a transaction (An error occurred while processing an instruction)
execrp_​txn_​result
{transaction_​result="account_​not_​found"}
counterResult of loading and executing a transaction (The transaction fee payer address was not found)
execrp_​txn_​result
{transaction_​result="program_​account_​not_​found"}
counterResult of loading and executing a transaction (A program account referenced by the transaction was not found)
execrp_​txn_​result
{transaction_​result="insufficient_​funds_​for_​fee"}
counterResult of loading and executing a transaction (The transaction fee payer did not have balance to pay the fee)
execrp_​txn_​result
{transaction_​result="invalid_​account_​for_​fee"}
counterResult of loading and executing a transaction (The transaction fee payer account is not owned by the system program, or has data that is not a nonce)
execrp_​txn_​result
{transaction_​result="already_​processed"}
counterResult of loading and executing a transaction (The transaction has already been processed in a recent block)
execrp_​txn_​result
{transaction_​result="blockhash_​not_​found"}
counterResult of loading and executing a transaction (The transaction references a blockhash that is not recent, or advances a nonce with the wrong value)
execrp_​txn_​result
{transaction_​result="invalid_​program_​for_​execution"}
counterResult of loading and executing a transaction (A program account referenced by the transaction was no executable. TODO: No longer needed with SIMD-0162)
execrp_​txn_​result
{transaction_​result="address_​lookup_​table_​not_​found"}
counterResult of loading and executing a transaction (The transaction references an ALUT account that does not exist or is inactive)
execrp_​txn_​result
{transaction_​result="invalid_​address_​lookup_​table_​owner"}
counterResult of loading and executing a transaction (The transaction references an ALUT account that is not owned by the ALUT program account)
execrp_​txn_​result
{transaction_​result="invalid_​address_​lookup_​table_​data"}
counterResult of loading and executing a transaction (The transaction references an ALUT account that contains data which is not a valid ALUT)
execrp_​txn_​result
{transaction_​result="invalid_​address_​lookup_​table_​index"}
counterResult of loading and executing a transaction (The transaction references an account offset from the ALUT which does not exist)
execrp_​txn_​result
{transaction_​result="max_​loaded_​accounts_​data_​size_​exceeded"}
counterResult of loading and executing a transaction (The total account data size of the loaded accounts exceeds the consensus limit)
execrp_​txn_​result
{transaction_​result="duplicate_​instruction"}
counterResult of loading and executing a transaction (A compute budget program instruction was invoked more than once)
execrp_​txn_​result
{transaction_​result="invalid_​loaded_​accounts_​data_​size_​limit"}
counterResult of loading and executing a transaction (The compute budget program was invoked and set the loaded accounts data size to zero)
execrp_​txn_​result
{transaction_​result="nonce_​already_​advanced"}
counterResult of loading and executing a transaction (The transaction references a nonce account that is already advanced)
execrp_​txn_​result
{transaction_​result="nonce_​advance_​failed"}
counterResult of loading and executing a transaction (The transaction is a nonce transaction but the advance instruction was not valid or failed)
execrp_​txn_​result
{transaction_​result="nonce_​wrong_​blockhash"}
counterResult of loading and executing a transaction (The transaction is a nonce transaction but the blockhash is not the correct one)
execrp_​txn_​result
{transaction_​result="sanitize_​failure"}
counterResult of loading and executing a transaction (The process for sanitizing the transaction failed)
execrp_​txn_​result
{transaction_​result="account_​in_​use"}
counterResult of loading and executing a transaction (The transaction conflicts with another transaction in the microblock. TODO: No longer possible with smart dispatcher)
execrp_​txn_​result
{transaction_​result="account_​loaded_​twice"}
counterResult of loading and executing a transaction (The transaction references the same account twice)
execrp_​txn_​result
{transaction_​result="signature_​failure"}
counterResult of loading and executing a transaction (The transaction had an invalid signature)
execrp_​txn_​result
{transaction_​result="too_​many_​account_​locks"}
counterResult of loading and executing a transaction (The transaction references too many accounts. TODO: No longer possible with smart dispatcher)
execrp_​txn_​result
{transaction_​result="insufficient_​funds_​for_​rent"}
counterResult of loading and executing a transaction (The transaction would leave an account with a lower balance than the rent-exempt minimum)
execrp_​txn_​result
{transaction_​result="unbalanced_​transaction"}
counterResult of loading and executing a transaction (The total referenced account lamports before and after the transaction was unbalanced)
execrp_​txn_​result
{transaction_​result="bundle_​peer"}
counterResult of loading and executing a transaction (The transaction was part of a bundle and an earlier transaction in the bundle failed)
execrp_​signature_​verifiedcounterEd25519 signature verification jobs executed
execrp_​poh_​hashedcounterPoH SHA-256 calls executed
execrp_​txn_​regime_​duration_​nanos
{txn_​regime="setup"}
counterMutually exclusive and exhaustive duration spent in transaction execution regimes, in nanoseconds (Transaction setup)
execrp_​txn_​regime_​duration_​nanos
{txn_​regime="exec"}
counterMutually exclusive and exhaustive duration spent in transaction execution regimes, in nanoseconds (Transaction execution (includes VM setup/execution))
execrp_​txn_​regime_​duration_​nanos
{txn_​regime="commit"}
counterMutually exclusive and exhaustive duration spent in transaction execution regimes, in nanoseconds (Transaction result commit)
execrp_​vm_​regime_​duration_​nanos
{vm_​regime="setup"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM setup)
execrp_​vm_​regime_​duration_​nanos
{vm_​regime="commit"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM commit)
execrp_​vm_​regime_​duration_​nanos
{vm_​regime="setup_​cpi"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM setup (CPI))
execrp_​vm_​regime_​duration_​nanos
{vm_​regime="commit_​cpi"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM commit (CPI))
execrp_​vm_​regime_​duration_​nanos
{vm_​regime="interpreter"}
counterMutually exclusive and exhaustive duration spent in virtual machine execution regimes, in nanoseconds (VM interpreter execution)
execrp_​cu_​executedcounterEstimated compute units executed since tile start
execrp_​progcache_​lookupcounterProgram cache lookups
execrp_​progcache_​hitcounterProgram cache hits
execrp_​progcache_​misscounterProgram cache misses
execrp_​progcache_​oom_​heapcounterProgram cache out-of-memory events (heap)
execrp_​progcache_​oom_​desccounterProgram cache out-of-memory events (descriptor table)
execrp_​progcache_​fillcounterProgram cache insertions
execrp_​progcache_​fill_​bytescounterBytes inserted into program cache
execrp_​progcache_​spillcounterProgram cache spills (OOM fallback mechanism)
execrp_​progcache_​spill_​bytescounterBytes spilled from program cache (OOM fallback mechanism)
execrp_​progcache_​evictioncounterProgram cache evictions
execrp_​progcache_​eviction_​bytescounterBytes evicted from program cache
execrp_​progcache_​duration_​secondscounterTime spent on program cache operations, in seconds
execrp_​progcache_​load_​duration_​secondscounterTime spent loading programs, in seconds
execrp_​accdb_​account_​acquired
{accdb_​cache_​class="class0"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (0-128 B)
execrp_​accdb_​account_​acquired
{accdb_​cache_​class="class1"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (129-512 B)
execrp_​accdb_​account_​acquired
{accdb_​cache_​class="class2"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
execrp_​accdb_​account_​acquired
{accdb_​cache_​class="class3"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
execrp_​accdb_​account_​acquired
{accdb_​cache_​class="class4"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
execrp_​accdb_​account_​acquired
{accdb_​cache_​class="class5"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
execrp_​accdb_​account_​acquired
{accdb_​cache_​class="class6"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
execrp_​accdb_​account_​acquired
{accdb_​cache_​class="class7"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
execrp_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class0"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (0-128 B)
execrp_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class1"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (129-512 B)
execrp_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class2"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
execrp_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class3"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
execrp_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class4"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
execrp_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class5"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
execrp_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class6"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
execrp_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class7"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
execrp_​accdb_​account_​evicted
{accdb_​cache_​class="class0"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (0-128 B)
execrp_​accdb_​account_​evicted
{accdb_​cache_​class="class1"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (129-512 B)
execrp_​accdb_​account_​evicted
{accdb_​cache_​class="class2"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (513 B-2 KiB)
execrp_​accdb_​account_​evicted
{accdb_​cache_​class="class3"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (2-8 KiB)
execrp_​accdb_​account_​evicted
{accdb_​cache_​class="class4"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (8-32 KiB)
execrp_​accdb_​account_​evicted
{accdb_​cache_​class="class5"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (32-128 KiB)
execrp_​accdb_​account_​evicted
{accdb_​cache_​class="class6"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (128 KiB-1 MiB)
execrp_​accdb_​account_​evicted
{accdb_​cache_​class="class7"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (1-10 MiB)
execrp_​accdb_​account_​committed_​new
{accdb_​cache_​class="class0"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (0-128 B)
execrp_​accdb_​account_​committed_​new
{accdb_​cache_​class="class1"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (129-512 B)
execrp_​accdb_​account_​committed_​new
{accdb_​cache_​class="class2"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (513 B-2 KiB)
execrp_​accdb_​account_​committed_​new
{accdb_​cache_​class="class3"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (2-8 KiB)
execrp_​accdb_​account_​committed_​new
{accdb_​cache_​class="class4"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (8-32 KiB)
execrp_​accdb_​account_​committed_​new
{accdb_​cache_​class="class5"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (32-128 KiB)
execrp_​accdb_​account_​committed_​new
{accdb_​cache_​class="class6"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (128 KiB-1 MiB)
execrp_​accdb_​account_​committed_​new
{accdb_​cache_​class="class7"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (1-10 MiB)
execrp_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class0"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (0-128 B)
execrp_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class1"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (129-512 B)
execrp_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class2"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (513 B-2 KiB)
execrp_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class3"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (2-8 KiB)
execrp_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class4"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (8-32 KiB)
execrp_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class5"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (32-128 KiB)
execrp_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class6"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (128 KiB-1 MiB)
execrp_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class7"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (1-10 MiB)
execrp_​accdb_​account_​not_​found
{accdb_​cache_​class="class0"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (0-128 B)
execrp_​accdb_​account_​not_​found
{accdb_​cache_​class="class1"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (129-512 B)
execrp_​accdb_​account_​not_​found
{accdb_​cache_​class="class2"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (513 B-2 KiB)
execrp_​accdb_​account_​not_​found
{accdb_​cache_​class="class3"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (2-8 KiB)
execrp_​accdb_​account_​not_​found
{accdb_​cache_​class="class4"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (8-32 KiB)
execrp_​accdb_​account_​not_​found
{accdb_​cache_​class="class5"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (32-128 KiB)
execrp_​accdb_​account_​not_​found
{accdb_​cache_​class="class6"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (128 KiB-1 MiB)
execrp_​accdb_​account_​not_​found
{accdb_​cache_​class="class7"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (1-10 MiB)
execrp_​accdb_​account_​waitedcounterNumber of accounts that were needed for transaction execution but were concurrently loading into cache by another transaction, causing the transaction to wait
execrp_​accdb_​batch_​acquiredcounterNumber of fd_accdb_acquire (batch acquire) calls made by this tile
execrp_​accdb_​acquire_​failedcounterNumber of times we failed to acquire the cache lines needed for a transaction, and had to spin loop waiting
execrp_​accdb_​bytes_​readcounterNumber of bytes read from the account database
execrp_​accdb_​read_​operationcounterNumber of read operations performed on the account database
execrp_​accdb_​bytes_​writtencounterNumber of bytes written to the account database
execrp_​accdb_​write_​operationcounterNumber of write operations performed on the account database
execrp_​accdb_​bytes_​copiedcounterNumber of bytes copied within the account database

Accdb Tile

MetricTypeDescription
accdb_​account_​countgaugeTotal number of accounts currently in the account database
accdb_​account_​capacitygaugeTotal capacity of accounts that can be stored in the account database
accdb_​account_​relocatedcounterTotal number of accounts moved in the account database during compaction
accdb_​disk_​allocated_​bytesgaugeTotal allocated size of the account database on disk
accdb_​disk_​current_​bytesgaugeTotal written-through size of the account database on disk, excluding never-written partition tail space
accdb_​disk_​used_​bytesgaugeTotal size of the account database on disk that is currently used
accdb_​in_​compactiongauge1 if a compaction is currently in progress, 0 if not
accdb_​compaction_​requestedcounterTotal number of compactions requested on the account database
accdb_​compaction_​completedcounterTotal number of compactions fully completed on the account database, less than or equal to the requested amount
accdb_​account_​relocated_​bytescounterTotal number of bytes moved in the account database during compaction
accdb_​account_​preevicted
{accdb_​cache_​class="class0"}
counterNumber of accounts preemptively evicted (written back) from the account database cache by the background preevict pass, broken down by cache size class (0-128 B)
accdb_​account_​preevicted
{accdb_​cache_​class="class1"}
counterNumber of accounts preemptively evicted (written back) from the account database cache by the background preevict pass, broken down by cache size class (129-512 B)
accdb_​account_​preevicted
{accdb_​cache_​class="class2"}
counterNumber of accounts preemptively evicted (written back) from the account database cache by the background preevict pass, broken down by cache size class (513 B-2 KiB)
accdb_​account_​preevicted
{accdb_​cache_​class="class3"}
counterNumber of accounts preemptively evicted (written back) from the account database cache by the background preevict pass, broken down by cache size class (2-8 KiB)
accdb_​account_​preevicted
{accdb_​cache_​class="class4"}
counterNumber of accounts preemptively evicted (written back) from the account database cache by the background preevict pass, broken down by cache size class (8-32 KiB)
accdb_​account_​preevicted
{accdb_​cache_​class="class5"}
counterNumber of accounts preemptively evicted (written back) from the account database cache by the background preevict pass, broken down by cache size class (32-128 KiB)
accdb_​account_​preevicted
{accdb_​cache_​class="class6"}
counterNumber of accounts preemptively evicted (written back) from the account database cache by the background preevict pass, broken down by cache size class (128 KiB-1 MiB)
accdb_​account_​preevicted
{accdb_​cache_​class="class7"}
counterNumber of accounts preemptively evicted (written back) from the account database cache by the background preevict pass, broken down by cache size class (1-10 MiB)
accdb_​bytes_​readcounterNumber of bytes read from the account database
accdb_​bytes_​writtencounterNumber of bytes written to the account database
accdb_​write_​operationcounterNumber of write operations performed on the account database
accdb_​copy_​operationcounterNumber of in-place copy_file_range operations performed on the account database during compaction
accdb_​account_​deletedcounterNumber of accounts deleted from the account database
accdb_​cache_​class_​used
{accdb_​cache_​class="class0"}
gaugeNumber of slots currently occupied in the account database cache, broken down by size class (0-128 B)
accdb_​cache_​class_​used
{accdb_​cache_​class="class1"}
gaugeNumber of slots currently occupied in the account database cache, broken down by size class (129-512 B)
accdb_​cache_​class_​used
{accdb_​cache_​class="class2"}
gaugeNumber of slots currently occupied in the account database cache, broken down by size class (513 B-2 KiB)
accdb_​cache_​class_​used
{accdb_​cache_​class="class3"}
gaugeNumber of slots currently occupied in the account database cache, broken down by size class (2-8 KiB)
accdb_​cache_​class_​used
{accdb_​cache_​class="class4"}
gaugeNumber of slots currently occupied in the account database cache, broken down by size class (8-32 KiB)
accdb_​cache_​class_​used
{accdb_​cache_​class="class5"}
gaugeNumber of slots currently occupied in the account database cache, broken down by size class (32-128 KiB)
accdb_​cache_​class_​used
{accdb_​cache_​class="class6"}
gaugeNumber of slots currently occupied in the account database cache, broken down by size class (128 KiB-1 MiB)
accdb_​cache_​class_​used
{accdb_​cache_​class="class7"}
gaugeNumber of slots currently occupied in the account database cache, broken down by size class (1-10 MiB)
accdb_​cache_​class_​max
{accdb_​cache_​class="class0"}
gaugeTotal slot capacity of the account database cache, broken down by size class (0-128 B)
accdb_​cache_​class_​max
{accdb_​cache_​class="class1"}
gaugeTotal slot capacity of the account database cache, broken down by size class (129-512 B)
accdb_​cache_​class_​max
{accdb_​cache_​class="class2"}
gaugeTotal slot capacity of the account database cache, broken down by size class (513 B-2 KiB)
accdb_​cache_​class_​max
{accdb_​cache_​class="class3"}
gaugeTotal slot capacity of the account database cache, broken down by size class (2-8 KiB)
accdb_​cache_​class_​max
{accdb_​cache_​class="class4"}
gaugeTotal slot capacity of the account database cache, broken down by size class (8-32 KiB)
accdb_​cache_​class_​max
{accdb_​cache_​class="class5"}
gaugeTotal slot capacity of the account database cache, broken down by size class (32-128 KiB)
accdb_​cache_​class_​max
{accdb_​cache_​class="class6"}
gaugeTotal slot capacity of the account database cache, broken down by size class (128 KiB-1 MiB)
accdb_​cache_​class_​max
{accdb_​cache_​class="class7"}
gaugeTotal slot capacity of the account database cache, broken down by size class (1-10 MiB)
accdb_​cache_​class_​reserved
{accdb_​cache_​class="class0"}
gaugeNumber of slots currently reserved by in-flight acquires (cache_class_used), or ULONG_MAX when reservation tracking is disabled for the class (0-128 B)
accdb_​cache_​class_​reserved
{accdb_​cache_​class="class1"}
gaugeNumber of slots currently reserved by in-flight acquires (cache_class_used), or ULONG_MAX when reservation tracking is disabled for the class (129-512 B)
accdb_​cache_​class_​reserved
{accdb_​cache_​class="class2"}
gaugeNumber of slots currently reserved by in-flight acquires (cache_class_used), or ULONG_MAX when reservation tracking is disabled for the class (513 B-2 KiB)
accdb_​cache_​class_​reserved
{accdb_​cache_​class="class3"}
gaugeNumber of slots currently reserved by in-flight acquires (cache_class_used), or ULONG_MAX when reservation tracking is disabled for the class (2-8 KiB)
accdb_​cache_​class_​reserved
{accdb_​cache_​class="class4"}
gaugeNumber of slots currently reserved by in-flight acquires (cache_class_used), or ULONG_MAX when reservation tracking is disabled for the class (8-32 KiB)
accdb_​cache_​class_​reserved
{accdb_​cache_​class="class5"}
gaugeNumber of slots currently reserved by in-flight acquires (cache_class_used), or ULONG_MAX when reservation tracking is disabled for the class (32-128 KiB)
accdb_​cache_​class_​reserved
{accdb_​cache_​class="class6"}
gaugeNumber of slots currently reserved by in-flight acquires (cache_class_used), or ULONG_MAX when reservation tracking is disabled for the class (128 KiB-1 MiB)
accdb_​cache_​class_​reserved
{accdb_​cache_​class="class7"}
gaugeNumber of slots currently reserved by in-flight acquires (cache_class_used), or ULONG_MAX when reservation tracking is disabled for the class (1-10 MiB)
accdb_​cache_​class_​target_​used
{accdb_​cache_​class="class0"}
gaugeTarget used-slot count for the account database cache (max - cache_free_target). When used exceeds this, the background preevict pass tries to bring used back down to this level. (0-128 B)
accdb_​cache_​class_​target_​used
{accdb_​cache_​class="class1"}
gaugeTarget used-slot count for the account database cache (max - cache_free_target). When used exceeds this, the background preevict pass tries to bring used back down to this level. (129-512 B)
accdb_​cache_​class_​target_​used
{accdb_​cache_​class="class2"}
gaugeTarget used-slot count for the account database cache (max - cache_free_target). When used exceeds this, the background preevict pass tries to bring used back down to this level. (513 B-2 KiB)
accdb_​cache_​class_​target_​used
{accdb_​cache_​class="class3"}
gaugeTarget used-slot count for the account database cache (max - cache_free_target). When used exceeds this, the background preevict pass tries to bring used back down to this level. (2-8 KiB)
accdb_​cache_​class_​target_​used
{accdb_​cache_​class="class4"}
gaugeTarget used-slot count for the account database cache (max - cache_free_target). When used exceeds this, the background preevict pass tries to bring used back down to this level. (8-32 KiB)
accdb_​cache_​class_​target_​used
{accdb_​cache_​class="class5"}
gaugeTarget used-slot count for the account database cache (max - cache_free_target). When used exceeds this, the background preevict pass tries to bring used back down to this level. (32-128 KiB)
accdb_​cache_​class_​target_​used
{accdb_​cache_​class="class6"}
gaugeTarget used-slot count for the account database cache (max - cache_free_target). When used exceeds this, the background preevict pass tries to bring used back down to this level. (128 KiB-1 MiB)
accdb_​cache_​class_​target_​used
{accdb_​cache_​class="class7"}
gaugeTarget used-slot count for the account database cache (max - cache_free_target). When used exceeds this, the background preevict pass tries to bring used back down to this level. (1-10 MiB)
accdb_​cache_​class_​low_​water_​used
{accdb_​cache_​class="class0"}
gaugeUsed-slot count at which the background preevict pass kicks in (max - cache_free_low_water). When used exceeds this, preevicts start. (0-128 B)
accdb_​cache_​class_​low_​water_​used
{accdb_​cache_​class="class1"}
gaugeUsed-slot count at which the background preevict pass kicks in (max - cache_free_low_water). When used exceeds this, preevicts start. (129-512 B)
accdb_​cache_​class_​low_​water_​used
{accdb_​cache_​class="class2"}
gaugeUsed-slot count at which the background preevict pass kicks in (max - cache_free_low_water). When used exceeds this, preevicts start. (513 B-2 KiB)
accdb_​cache_​class_​low_​water_​used
{accdb_​cache_​class="class3"}
gaugeUsed-slot count at which the background preevict pass kicks in (max - cache_free_low_water). When used exceeds this, preevicts start. (2-8 KiB)
accdb_​cache_​class_​low_​water_​used
{accdb_​cache_​class="class4"}
gaugeUsed-slot count at which the background preevict pass kicks in (max - cache_free_low_water). When used exceeds this, preevicts start. (8-32 KiB)
accdb_​cache_​class_​low_​water_​used
{accdb_​cache_​class="class5"}
gaugeUsed-slot count at which the background preevict pass kicks in (max - cache_free_low_water). When used exceeds this, preevicts start. (32-128 KiB)
accdb_​cache_​class_​low_​water_​used
{accdb_​cache_​class="class6"}
gaugeUsed-slot count at which the background preevict pass kicks in (max - cache_free_low_water). When used exceeds this, preevicts start. (128 KiB-1 MiB)
accdb_​cache_​class_​low_​water_​used
{accdb_​cache_​class="class7"}
gaugeUsed-slot count at which the background preevict pass kicks in (max - cache_free_low_water). When used exceeds this, preevicts start. (1-10 MiB)

Tower Tile

MetricTypeDescription
tower_​frag_​ignoredcounterreplay_slot_completed frags we ignored
tower_​slot_​last_​ignoredgaugeMost recent ignored replay_slot_completed frag
tower_​frag_​eqvoc_​detectedcounterreplay_slot_completed frags we detect as equivocations
tower_​slot_​last_​eqvocgaugeMost recent equivocating replay_slot_completed frag
tower_​replay_​slotgaugeMost recently replayed slot, ULONG_MAX if nothing replayed yet. Not monotonically increasing
tower_​vote_​slotgaugeHighest voted slot in the local tower, ULONG_MAX if haven't voted. Monotonically increasing
tower_​reset_​slotgaugeMost recent reset slot, ULONG_MAX if no reset yet. Not monotonically increasing
tower_​root_​slotgaugeHighest rooted slot, ULONG_MAX if no root yet. Monotonically increasing
tower_​init_​slotgaugeInit slot, either the snapshot or genesis slot. Set once and does not change
tower_​frag_​not_​ready_​droppedcounterFrags dropped because they arrived before the tower tile was initialized
tower_​eqvoc_​proof
{eqvoc_​proof_​result="success"}
counterEquivocation proofs, by validation outcome (Valid equivocation proof)
tower_​eqvoc_​proof
{eqvoc_​proof_​result="error"}
counterEquivocation proofs, by validation outcome (Proof failed validation (gossip-only))
tower_​ghost_​vote
{ghost_​vote_​result="success"}
counterResult of counting a vote towards ghost (Vote was counted towards ghost)
tower_​ghost_​vote
{ghost_​vote_​result="not_​voted"}
counterResult of counting a vote towards ghost (Skipped because voter hasn't voted)
tower_​ghost_​vote
{ghost_​vote_​result="too_​old"}
counterResult of counting a vote towards ghost (Slot was behind the root)
tower_​ghost_​vote
{ghost_​vote_​result="already_​voted"}
counterResult of counting a vote towards ghost (Slot was not newer than previous vote)
tower_​hard_​fork_​vote
{hard_​fork_​vote_​result="success"}
counterResult of counting a vote towards hard fork detection (Vote was counted, no hard fork agreement reached)
tower_​hard_​fork_​vote
{hard_​fork_​vote_​result="success_​matched"}
counterResult of counting a vote towards hard fork detection (52%+ of stake agreed on our bank hash)
tower_​hard_​fork_​vote
{hard_​fork_​vote_​result="mismatched"}
counterResult of counting a vote towards hard fork detection (52%+ of stake agreed on a different bank hash than ours (we hard forked))
tower_​hard_​fork_​vote
{hard_​fork_​vote_​result="unknown_​voter"}
counterResult of counting a vote towards hard fork detection (Voter not in voter set)
tower_​hard_​fork_​vote
{hard_​fork_​vote_​result="already_​voted"}
counterResult of counting a vote towards hard fork detection (Voter already voted for this block_id)
tower_​hard_​fork_​vote
{hard_​fork_​vote_​result="too_​old"}
counterResult of counting a vote towards hard fork detection (Slot not newer than previous)
tower_​hard_​fork_​matched_​slotgaugeHighest slot where 52%+ of stake agreed on our bank hash
tower_​hard_​fork_​mismatched_​slotgaugeHighest slot where 52%+ of stake agreed on a different bank hash than ours (we hard forked)
tower_​fork_​decision
{tower_​fork_​decision="no_​vote_​not_​recent"}
counterResult of deciding which fork to vote/reset on (Haven't voted yet and best block is not recent enough to vote (can't vote))
tower_​fork_​decision
{tower_​fork_​decision="empty_​tower_​vote"}
counterResult of deciding which fork to vote/reset on (Haven't voted yet, voting for best block (can vote))
tower_​fork_​decision
{tower_​fork_​decision="ancestor_​rollback"}
counterResult of deciding which fork to vote/reset on (Rollback to an ancestor of our prev vote (can't vote))
tower_​fork_​decision
{tower_​fork_​decision="sibling_​confirmed"}
counterResult of deciding which fork to vote/reset on (Duplicate sibling got confirmed (can vote))
tower_​fork_​decision
{tower_​fork_​decision="same_​fork"}
counterResult of deciding which fork to vote/reset on (Same fork as prev vote (can vote))
tower_​fork_​decision
{tower_​fork_​decision="switch_​pass"}
counterResult of deciding which fork to vote/reset on (Prev vote was on a different fork, but we are allowed to switch (can vote))
tower_​fork_​decision
{tower_​fork_​decision="switch_​fail"}
counterResult of deciding which fork to vote/reset on (Prev vote was on a different fork, and we are not allowed to switch (can't vote))
tower_​vote_​gate
{tower_​vote_​gate="voted"}
counterResult of the vote gating checks after a fork was selected (Passed all vote checks and cast a vote)
tower_​vote_​gate
{tower_​vote_​gate="lockout_​fail"}
counterResult of the vote gating checks after a fork was selected (Locked out (can't vote))
tower_​vote_​gate
{tower_​vote_​gate="threshold_​fail"}
counterResult of the vote gating checks after a fork was selected (Did not pass threshold check (can't vote))
tower_​vote_​gate
{tower_​vote_​gate="propagated_​fail"}
counterResult of the vote gating checks after a fork was selected (Prev leader block did not propagate (can't vote))
tower_​vote_​gate
{tower_​vote_​gate="no_​candidate"}
counterResult of the vote gating checks after a fork was selected (Fork decision did not produce a votable block)
tower_​vote_​txn
{vote_​txn_​result="success"}
counterResult of processing a vote txn (per txn) (Vote txn passed per-txn validation and reached slot counting (per-slot outcomes tracked by VoteSlotResult))
tower_​vote_​txn
{vote_​txn_​result="not_​simple_​vote"}
counterResult of processing a vote txn (per txn) (Txn was not a simple vote transaction)
tower_​vote_​txn
{vote_​txn_​result="bad_​deser"}
counterResult of processing a vote txn (per txn) (Vote txn failed to deserialize)
tower_​vote_​txn
{vote_​txn_​result="not_​tower_​sync"}
counterResult of processing a vote txn (per txn) (Vote txn was not a TowerSync instruction)
tower_​vote_​txn
{vote_​txn_​result="empty_​tower"}
counterResult of processing a vote txn (per txn) (Vote txn had an empty tower (validator hasn't voted))
tower_​vote_​txn
{vote_​txn_​result="bad_​tower"}
counterResult of processing a vote txn (per txn) (Vote txn deserialized but tower was invalid)
tower_​vote_​txn
{vote_​txn_​result="unknown_​block_​id"}
counterResult of processing a vote txn (per txn) (Last vote had a null block id)
tower_​vote_​txn
{vote_​txn_​result="too_​old"}
counterResult of processing a vote txn (per txn) (Last vote slot was behind the votes root)
tower_​vote_​txn
{vote_​txn_​result="not_​staked"}
counterResult of processing a vote txn (per txn) (Unable to query stake for vote slot)
tower_​vote_​txn
{vote_​txn_​result="bad_​signer"}
counterResult of processing a vote txn (per txn) (Vote txn was not signed by the authorized voter for the vote account at the vote epoch)
tower_​vote_​slot_​counted
{vote_​slot_​result="success"}
counterResult of counting an individual vote slot from a vote txn (per slot) (Vote slot was counted)
tower_​vote_​slot_​counted
{vote_​slot_​result="too_​new"}
counterResult of counting an individual vote slot from a vote txn (per slot) (Vote slot was too far ahead of the votes root)
tower_​vote_​slot_​counted
{vote_​slot_​result="unknown_​voter"}
counterResult of counting an individual vote slot from a vote txn (per slot) (Vote account was not in the voter set)
tower_​vote_​slot_​counted
{vote_​slot_​result="already_​voted"}
counterResult of counting an individual vote slot from a vote txn (per slot) (Voter already voted for this slot)
tower_​vote_​slot_​counted
{vote_​slot_​result="too_​old"}
counterResult of counting an individual vote slot from a vote txn (per slot) (Vote slot was behind the votes root)
tower_​vote_​slot_​counted
{vote_​slot_​result="unknown_​slot"}
counterResult of counting an individual vote slot from a vote txn (per slot) (Vote slot was for a slot we haven't replayed)
tower_​vote_​intermediate_​gate
{vote_​intermediate_​gate="proceed"}
counterWhether the last vote slot's replay state allowed counting the intermediate vote slots (per txn that reached slot counting) (Last vote slot was replayed and matched, intermediate vote slots will be counted)
tower_​vote_​intermediate_​gate
{vote_​intermediate_​gate="unknown_​slot"}
counterWhether the last vote slot's replay state allowed counting the intermediate vote slots (per txn that reached slot counting) (Last vote slot was not replayed, intermediate vote slots skipped)
tower_​vote_​intermediate_​gate
{vote_​intermediate_​gate="unknown_​block_​id"}
counterWhether the last vote slot's replay state allowed counting the intermediate vote slots (per txn that reached slot counting) (Last vote slot block id did not match, intermediate vote slots skipped)
tower_​accdb_​account_​acquired
{accdb_​cache_​class="class0"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (0-128 B)
tower_​accdb_​account_​acquired
{accdb_​cache_​class="class1"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (129-512 B)
tower_​accdb_​account_​acquired
{accdb_​cache_​class="class2"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
tower_​accdb_​account_​acquired
{accdb_​cache_​class="class3"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
tower_​accdb_​account_​acquired
{accdb_​cache_​class="class4"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
tower_​accdb_​account_​acquired
{accdb_​cache_​class="class5"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
tower_​accdb_​account_​acquired
{accdb_​cache_​class="class6"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
tower_​accdb_​account_​acquired
{accdb_​cache_​class="class7"}
counterNumber of accounts acquired from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
tower_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class0"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (0-128 B)
tower_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class1"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (129-512 B)
tower_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class2"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
tower_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class3"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
tower_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class4"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
tower_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class5"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
tower_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class6"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
tower_​accdb_​account_​writable_​acquired
{accdb_​cache_​class="class7"}
counterNumber of writable accounts acquired from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
tower_​accdb_​account_​evicted
{accdb_​cache_​class="class0"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (0-128 B)
tower_​accdb_​account_​evicted
{accdb_​cache_​class="class1"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (129-512 B)
tower_​accdb_​account_​evicted
{accdb_​cache_​class="class2"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (513 B-2 KiB)
tower_​accdb_​account_​evicted
{accdb_​cache_​class="class3"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (2-8 KiB)
tower_​accdb_​account_​evicted
{accdb_​cache_​class="class4"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (8-32 KiB)
tower_​accdb_​account_​evicted
{accdb_​cache_​class="class5"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (32-128 KiB)
tower_​accdb_​account_​evicted
{accdb_​cache_​class="class6"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (128 KiB-1 MiB)
tower_​accdb_​account_​evicted
{accdb_​cache_​class="class7"}
counterNumber of accounts evicted from the account database cache to make space, broken down by cache size class (1-10 MiB)
tower_​accdb_​account_​committed_​new
{accdb_​cache_​class="class0"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (0-128 B)
tower_​accdb_​account_​committed_​new
{accdb_​cache_​class="class1"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (129-512 B)
tower_​accdb_​account_​committed_​new
{accdb_​cache_​class="class2"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (513 B-2 KiB)
tower_​accdb_​account_​committed_​new
{accdb_​cache_​class="class3"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (2-8 KiB)
tower_​accdb_​account_​committed_​new
{accdb_​cache_​class="class4"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (8-32 KiB)
tower_​accdb_​account_​committed_​new
{accdb_​cache_​class="class5"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (32-128 KiB)
tower_​accdb_​account_​committed_​new
{accdb_​cache_​class="class6"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (128 KiB-1 MiB)
tower_​accdb_​account_​committed_​new
{accdb_​cache_​class="class7"}
counterNumber of new (non-overwrite) account versions committed to the index, broken down by destination cache size class (1-10 MiB)
tower_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class0"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (0-128 B)
tower_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class1"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (129-512 B)
tower_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class2"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (513 B-2 KiB)
tower_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class3"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (2-8 KiB)
tower_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class4"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (8-32 KiB)
tower_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class5"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (32-128 KiB)
tower_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class6"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (128 KiB-1 MiB)
tower_​accdb_​account_​committed_​overwrite
{accdb_​cache_​class="class7"}
counterNumber of overwrite (existing fork+generation) account versions committed to the index, broken down by destination cache size class (1-10 MiB)
tower_​accdb_​account_​not_​found
{accdb_​cache_​class="class0"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (0-128 B)
tower_​accdb_​account_​not_​found
{accdb_​cache_​class="class1"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (129-512 B)
tower_​accdb_​account_​not_​found
{accdb_​cache_​class="class2"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (513 B-2 KiB)
tower_​accdb_​account_​not_​found
{accdb_​cache_​class="class3"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (2-8 KiB)
tower_​accdb_​account_​not_​found
{accdb_​cache_​class="class4"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (8-32 KiB)
tower_​accdb_​account_​not_​found
{accdb_​cache_​class="class5"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (32-128 KiB)
tower_​accdb_​account_​not_​found
{accdb_​cache_​class="class6"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (128 KiB-1 MiB)
tower_​accdb_​account_​not_​found
{accdb_​cache_​class="class7"}
counterNumber of accounts that were needed for transaction execution but were not found in the account database cache, broken down by cache size class (1-10 MiB)
tower_​accdb_​account_​waitedcounterNumber of accounts that were needed for transaction execution but were concurrently loading into cache by another transaction, causing the transaction to wait
tower_​accdb_​batch_​acquiredcounterNumber of fd_accdb_acquire (batch acquire) calls made by this tile
tower_​accdb_​acquire_​failedcounterNumber of times we failed to acquire the cache lines needed for a transaction, and had to spin loop waiting
tower_​accdb_​bytes_​readcounterNumber of bytes read from the account database
tower_​accdb_​read_​operationcounterNumber of read operations performed on the account database
tower_​accdb_​bytes_​writtencounterNumber of bytes written to the account database
tower_​accdb_​write_​operationcounterNumber of write operations performed on the account database
tower_​accdb_​bytes_​copiedcounterNumber of bytes copied within the account database

Txsend Tile

MetricTypeDescription
txsend_​pkt_​rxcounterQUIC packets received
txsend_​pkt_​rx_​bytescounterBytes received via QUIC
txsend_​pkt_​txcounterQUIC packets sent
txsend_​pkt_​tx_​bytescounterBytes sent via QUIC
txsend_​pkt_​tx_​retrycounterQUIC Retry packets sent
txsend_​conn_​in_​usegaugeQUIC connection slots currently in use (allocated from connection create until free, including handshaking connections)
txsend_​conn_​state
{quic_​conn_​state="invalid"}
gaugeQUIC connections in each state (Freed)
txsend_​conn_​state
{quic_​conn_​state="handshake"}
gaugeQUIC connections in each state (Handshaking peer)
txsend_​conn_​state
{quic_​conn_​state="handshake_​complete"}
gaugeQUIC connections in each state (Handshake complete, confirming with peer)
txsend_​conn_​state
{quic_​conn_​state="active"}
gaugeQUIC connections in each state (Active connection)
txsend_​conn_​state
{quic_​conn_​state="peer_​close"}
gaugeQUIC connections in each state (Peer requested close)
txsend_​conn_​state
{quic_​conn_​state="abort"}
gaugeQUIC connections in each state (Connection terminating due to error)
txsend_​conn_​state
{quic_​conn_​state="close_​pending"}
gaugeQUIC connections in each state (Connection is closing)
txsend_​conn_​state
{quic_​conn_​state="dead"}
gaugeQUIC connections in each state (Connection about to be freed)
txsend_​conn_​createdcounterConnections created
txsend_​conn_​closedcounterConnections gracefully closed
txsend_​conn_​abortedcounterConnections aborted
txsend_​conn_​timed_​outcounterConnections timed out
txsend_​conn_​retriedcounterConnections established with retry
txsend_​conn_​error_​no_​slotscounterConnections that failed to create due to lack of slots
txsend_​conn_​error_​retry_​failedcounterConnections that failed during retry (e.g. invalid token)
txsend_​pkt_​crypto_​failed
{quic_​encryption_​level="initial"}
counterPackets that failed decryption (Initial)
txsend_​pkt_​crypto_​failed
{quic_​encryption_​level="early"}
counterPackets that failed decryption (Early data)
txsend_​pkt_​crypto_​failed
{quic_​encryption_​level="handshake"}
counterPackets that failed decryption (Handshake)
txsend_​pkt_​crypto_​failed
{quic_​encryption_​level="app"}
counterPackets that failed decryption (App data)
txsend_​pkt_​no_​key
{quic_​encryption_​level="initial"}
counterPackets that failed decryption due to missing key (Initial)
txsend_​pkt_​no_​key
{quic_​encryption_​level="early"}
counterPackets that failed decryption due to missing key (Early data)
txsend_​pkt_​no_​key
{quic_​encryption_​level="handshake"}
counterPackets that failed decryption due to missing key (Handshake)
txsend_​pkt_​no_​key
{quic_​encryption_​level="app"}
counterPackets that failed decryption due to missing key (App data)
txsend_​pkt_​no_​conn
{quic_​pkt_​handle="initial"}
counterPackets with an unknown connection ID (Initial)
txsend_​pkt_​no_​conn
{quic_​pkt_​handle="retry"}
counterPackets with an unknown connection ID (Retry)
txsend_​pkt_​no_​conn
{quic_​pkt_​handle="handshake"}
counterPackets with an unknown connection ID (Handshake)
txsend_​pkt_​no_​conn
{quic_​pkt_​handle="one_​rtt"}
counterPackets with an unknown connection ID (1-RTT)
txsend_​pkt_​src_​invalidcounterPackets dropped due to a wrong source IP
txsend_​pkt_​tx_​alloc_​failedcounterPacket transmit jobs dropped due to allocation failure
txsend_​pkt_​net_​header_​invalidcounterPackets dropped due to weird IP or UDP header
txsend_​pkt_​header_​invalidcounterPackets dropped due to weird QUIC header
txsend_​pkt_​undersizecounterQUIC packets dropped due to being too small
txsend_​pkt_​oversizecounterQUIC packets dropped due to being too large
txsend_​pkt_​rx_​version_​negotiationcounterQUIC version negotiation packets received
txsend_​pkt_​tx_​retransmitted
{quic_​encryption_​level="initial"}
counterQUIC packets retransmitted (Initial)
txsend_​pkt_​tx_​retransmitted
{quic_​encryption_​level="early"}
counterQUIC packets retransmitted (Early data)
txsend_​pkt_​tx_​retransmitted
{quic_​encryption_​level="handshake"}
counterQUIC packets retransmitted (Handshake)
txsend_​pkt_​tx_​retransmitted
{quic_​encryption_​level="app"}
counterQUIC packets retransmitted (App data)
txsend_​handshake_​createdcounterHandshake flows created
txsend_​handshake_​error_​alloc_​failcounterHandshakes dropped due to alloc fail
txsend_​handshake_​evictedcounterHandshakes dropped due to eviction
txsend_​stream_​rxcounterStream receive events
txsend_​stream_​rx_​bytescounterStream payload bytes received
txsend_​frame_​rx
{quic_​frame_​type="unknown"}
counterQUIC frames received (Unknown frame type)
txsend_​frame_​rx
{quic_​frame_​type="ack"}
counterQUIC frames received (ACK frame)
txsend_​frame_​rx
{quic_​frame_​type="reset_​stream"}
counterQUIC frames received (RESET_STREAM frame)
txsend_​frame_​rx
{quic_​frame_​type="stop_​sending"}
counterQUIC frames received (STOP_SENDING frame)
txsend_​frame_​rx
{quic_​frame_​type="crypto"}
counterQUIC frames received (CRYPTO frame)
txsend_​frame_​rx
{quic_​frame_​type="new_​token"}
counterQUIC frames received (NEW_TOKEN frame)
txsend_​frame_​rx
{quic_​frame_​type="stream"}
counterQUIC frames received (STREAM frame)
txsend_​frame_​rx
{quic_​frame_​type="max_​data"}
counterQUIC frames received (MAX_DATA frame)
txsend_​frame_​rx
{quic_​frame_​type="max_​stream_​data"}
counterQUIC frames received (MAX_STREAM_DATA frame)
txsend_​frame_​rx
{quic_​frame_​type="max_​streams"}
counterQUIC frames received (MAX_STREAMS frame)
txsend_​frame_​rx
{quic_​frame_​type="data_​blocked"}
counterQUIC frames received (DATA_BLOCKED frame)
txsend_​frame_​rx
{quic_​frame_​type="stream_​data_​blocked"}
counterQUIC frames received (STREAM_DATA_BLOCKED frame)
txsend_​frame_​rx
{quic_​frame_​type="streams_​blocked"}
counterQUIC frames received (STREAMS_BLOCKED(bidi) frame)
txsend_​frame_​rx
{quic_​frame_​type="new_​connection_​id"}
counterQUIC frames received (NEW_CONN_ID frame)
txsend_​frame_​rx
{quic_​frame_​type="retire_​connection_​id"}
counterQUIC frames received (RETIRE_CONN_ID frame)
txsend_​frame_​rx
{quic_​frame_​type="path_​challenge"}
counterQUIC frames received (PATH_CHALLENGE frame)
txsend_​frame_​rx
{quic_​frame_​type="path_​response"}
counterQUIC frames received (PATH_RESPONSE frame)
txsend_​frame_​rx
{quic_​frame_​type="connection_​close_​quic"}
counterQUIC frames received (CONN_CLOSE(transport) frame)
txsend_​frame_​rx
{quic_​frame_​type="connection_​close_​app"}
counterQUIC frames received (CONN_CLOSE(app) frame)
txsend_​frame_​rx
{quic_​frame_​type="handshake_​done"}
counterQUIC frames received (HANDSHAKE_DONE frame)
txsend_​frame_​rx
{quic_​frame_​type="ping"}
counterQUIC frames received (PING frame)
txsend_​frame_​rx
{quic_​frame_​type="padding"}
counterQUIC frames received (PADDING frame)
txsend_​frame_​parse_​failedcounterQUIC frames that failed to parse
txsend_​frame_​meta_​acquired
{frame_​tx_​alloc_​result="success"}
counterAttempts to acquire QUIC frame metadata (Success)
txsend_​frame_​meta_​acquired
{frame_​tx_​alloc_​result="fail_​empty_​pool"}
counterAttempts to acquire QUIC frame metadata (PktMetaPoolEmpty)
txsend_​frame_​meta_​acquired
{frame_​tx_​alloc_​result="fail_​connection_​max"}
counterAttempts to acquire QUIC frame metadata (ConnMaxedInflightFrames)
txsend_​ack_​tx
{quic_​ack_​tx="noop"}
counterACK events (Non-ACK-eliciting packet)
txsend_​ack_​tx
{quic_​ack_​tx="new"}
counterACK events (New ACK range)
txsend_​ack_​tx
{quic_​ack_​tx="merged"}
counterACK events (Merged into existing ACK range)
txsend_​ack_​tx
{quic_​ack_​tx="drop"}
counterACK events (Out of buffers)
txsend_​ack_​tx
{quic_​ack_​tx="cancel"}
counterACK events (ACK suppressed by handler)
txsend_​service_​duration_​secondshistogramDuration spent in service
txsend_​rx_​duration_​secondshistogramDuration spent processing packets

Diag Tile

MetricTypeDescription
diag_​bundle_​statusgaugePrecise status of the bundle subsystem: 0=disabled (no bundle tiles configured), 1=disconnected (all bundle tiles disconnected), 2=connecting (at least one bundle tile connecting, none connected or sleeping), 3=connected (at least one bundle tile connected), 4=sleeping (at least one bundle tile sleeping, none connected)
diag_​vote_​statusgaugePrecise status of the vote subsystem: 0=disabled (non-voting or no tower tile), 1=not started (tower tile not running or no votes cast yet), 2=delinquent (vote distance exceeds threshold or vote stalled), 3=voting (voting normally)
diag_​replay_​statusgaugePrecise status of the replay subsystem: 0=disabled (no replay tile), 1=not started (replay tile not running or slots are zero), 2=behind (replay lagging behind turbine or reset slot stalled), 3=running (replay keeping up)
diag_​turbine_​statusgaugePrecise status of the turbine subsystem: 0=disabled (no shred or replay tiles), 1=not started (tiles not all running or turbine slot is zero), 2=stalled (turbine slot not advancing), 3=repair outpacing (repair byte throughput exceeds turbine), 4=running (turbine receiving normally)
diag_​device_​irqcounterNumber of device IRQs across all CPUs
diag_​device_​irq_​undesiredcounterNumber of device hard IRQs that stole CPU time from fixed tiles
diag_​softirq
{softirq="net"}
counterNumber of soft-IRQs across all CPUs (NET_TX, NET_RX)
diag_​softirq
{softirq="disk"}
counterNumber of soft-IRQs across all CPUs (BLOCK)
diag_​softirq
{softirq="other"}
counterNumber of soft-IRQs across all CPUs (e.g. TIMER, HRTIMER, IRQ_POLL, TASKLET, SCHED, RCU, ...)
diag_​softirq_​undesired
{softirq="net"}
counterNumber of soft-IRQs that stole CPU time from fixed tiles (NET_TX, NET_RX)
diag_​softirq_​undesired
{softirq="disk"}
counterNumber of soft-IRQs that stole CPU time from fixed tiles (BLOCK)
diag_​softirq_​undesired
{softirq="other"}
counterNumber of soft-IRQs that stole CPU time from fixed tiles (e.g. TIMER, HRTIMER, IRQ_POLL, TASKLET, SCHED, RCU, ...)

Event Tile

MetricTypeDescription
event_​conn_​stategauge0=disconnected, 1=connecting, 2=connected
event_​queue_​depthgaugeTotal events in the event queue (sent-but-unacknowledged plus unsent)
event_​queue_​unsentgaugeEvents in the event queue not yet sent to the event service
event_​queue_​droppedcounterEvents dropped because the event queue was full
event_​queue_​bytes_​usedgaugeBytes used in the event queue
event_​queue_​bytes_​capacitygaugeTotal capacity of the event queue, in bytes
event_​sentcounterEvents sent to the event service
event_​ackedcounterEvents acknowledged by the event service
event_​last_​acked_​idgaugeEvent id (nonce) of the most recently acknowledged event
event_​bytes_​writtencounterBytes written to the event service
event_​bytes_​readcounterBytes read from the event service
event_​auth_​failedcounterAuthentication failures with the event service
event_​invalid_​messagecounterMalformed messages received from the event service
event_​conn_​attemptcounterConnection attempts to the event service
event_​handshake_​timeoutcounterAuthentication handshake timeouts with the event service

Gui Tile

MetricTypeDescription
gui_​conn_​activegaugeActive HTTP connections to the GUI service, excluding connections that have been upgraded to a WebSocket connection
gui_​websocket_​conn_​activegaugeActive WebSocket connections to the GUI service
gui_​websocket_​frame_​txcounterWebSocket frames sent to all connections to the GUI service
gui_​websocket_​frame_​rxcounterWebSocket frames received from all connections to the GUI service
gui_​bytes_​writtencounterBytes written to all connections to the GUI service
gui_​bytes_​readcounterBytes read from all connections to the GUI service

Metric Tile

MetricTypeDescription
metric_​boot_​timestamp_​nanosgaugeTimestamp when validator was started, in nanoseconds since epoch
metric_​conn_​activegaugeActive HTTP connections to the Prometheus endpoint
metric_​bytes_​writtencounterBytes written to all responses on the Prometheus endpoint
metric_​bytes_​readcounterBytes read from all requests to the Prometheus endpoint

Rpc Tile

MetricTypeDescription
rpc_​request_​duration_​secondshistogramDuration spent in service
rpc_​request_​served
{rpc_​method="genesis"}
counterNumber of RPC requests served (GET /genesis.tar.bz2)
rpc_​request_​served
{rpc_​method="unknown"}
counterNumber of RPC requests served (Unknown or unsupported method)
rpc_​request_​served
{rpc_​method="getAccountInfo"}
counterNumber of RPC requests served (getAccountInfo)
rpc_​request_​served
{rpc_​method="getBalance"}
counterNumber of RPC requests served (getBalance)
rpc_​request_​served
{rpc_​method="getBlockHeight"}
counterNumber of RPC requests served (getBlockHeight)
rpc_​request_​served
{rpc_​method="getClusterNodes"}
counterNumber of RPC requests served (getClusterNodes)
rpc_​request_​served
{rpc_​method="getEpochInfo"}
counterNumber of RPC requests served (getEpochInfo)
rpc_​request_​served
{rpc_​method="getGenesisHash"}
counterNumber of RPC requests served (getGenesisHash)
rpc_​request_​served
{rpc_​method="getHealth"}
counterNumber of RPC requests served (getHealth)
rpc_​request_​served
{rpc_​method="getIdentity"}
counterNumber of RPC requests served (getIdentity)
rpc_​request_​served
{rpc_​method="getInflationGovernor"}
counterNumber of RPC requests served (getInflationGovernor)
rpc_​request_​served
{rpc_​method="getLatestBlockhash"}
counterNumber of RPC requests served (getLatestBlockhash)
rpc_​request_​served
{rpc_​method="getMinimumBalanceForRentExemption"}
counterNumber of RPC requests served (getMinimumBalanceForRentExemption)
rpc_​request_​served
{rpc_​method="getMultipleAccounts"}
counterNumber of RPC requests served (getMultipleAccounts)
rpc_​request_​served
{rpc_​method="getSlot"}
counterNumber of RPC requests served (getSlot)
rpc_​request_​served
{rpc_​method="getTransactionCount"}
counterNumber of RPC requests served (getTransactionCount)
rpc_​request_​served
{rpc_​method="getVersion"}
counterNumber of RPC requests served (getVersion)
rpc_​conn_​activegaugeThe number of active HTTP connections to the RPC service
rpc_​websocket_​conn_​activegaugeThe number of active WebSocket connections to the RPC service
rpc_​websocket_​subscription_​active
{rpc_​event_​type="vote"}
gaugeThe number of active WebSocket subscriptions to the RPC service, broken down by subscription type (vote)
rpc_​websocket_​subscription_​active
{rpc_​event_​type="slot"}
gaugeThe number of active WebSocket subscriptions to the RPC service, broken down by subscription type (slot)
rpc_​websocket_​event_​unique_​sent
{rpc_​event_​type="vote"}
counterNumber of unique WebSocket events sent by the RPC service (vote)
rpc_​websocket_​event_​unique_​sent
{rpc_​event_​type="slot"}
counterNumber of unique WebSocket events sent by the RPC service (slot)
rpc_​websocket_​event_​sent
{rpc_​event_​type="vote"}
counterNumber of WebSocket events sent by the RPC service across all subscriptions (vote)
rpc_​websocket_​event_​sent
{rpc_​event_​type="slot"}
counterNumber of WebSocket events sent by the RPC service across all subscriptions (slot)
rpc_​accdb_​account_​acquired
{accdb_​cache_​class="class0"}
counterNumber of accounts read from the account database, attributed to the cache size class of the account's current data size (0-128 B)
rpc_​accdb_​account_​acquired
{accdb_​cache_​class="class1"}
counterNumber of accounts read from the account database, attributed to the cache size class of the account's current data size (129-512 B)
rpc_​accdb_​account_​acquired
{accdb_​cache_​class="class2"}
counterNumber of accounts read from the account database, attributed to the cache size class of the account's current data size (513 B-2 KiB)
rpc_​accdb_​account_​acquired
{accdb_​cache_​class="class3"}
counterNumber of accounts read from the account database, attributed to the cache size class of the account's current data size (2-8 KiB)
rpc_​accdb_​account_​acquired
{accdb_​cache_​class="class4"}
counterNumber of accounts read from the account database, attributed to the cache size class of the account's current data size (8-32 KiB)
rpc_​accdb_​account_​acquired
{accdb_​cache_​class="class5"}
counterNumber of accounts read from the account database, attributed to the cache size class of the account's current data size (32-128 KiB)
rpc_​accdb_​account_​acquired
{accdb_​cache_​class="class6"}
counterNumber of accounts read from the account database, attributed to the cache size class of the account's current data size (128 KiB-1 MiB)
rpc_​accdb_​account_​acquired
{accdb_​cache_​class="class7"}
counterNumber of accounts read from the account database, attributed to the cache size class of the account's current data size (1-10 MiB)
rpc_​accdb_​account_​not_​found
{accdb_​cache_​class="class0"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (0-128 B)
rpc_​accdb_​account_​not_​found
{accdb_​cache_​class="class1"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (129-512 B)
rpc_​accdb_​account_​not_​found
{accdb_​cache_​class="class2"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (513 B-2 KiB)
rpc_​accdb_​account_​not_​found
{accdb_​cache_​class="class3"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (2-8 KiB)
rpc_​accdb_​account_​not_​found
{accdb_​cache_​class="class4"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (8-32 KiB)
rpc_​accdb_​account_​not_​found
{accdb_​cache_​class="class5"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (32-128 KiB)
rpc_​accdb_​account_​not_​found
{accdb_​cache_​class="class6"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (128 KiB-1 MiB)
rpc_​accdb_​account_​not_​found
{accdb_​cache_​class="class7"}
counterNumber of accounts that were not found in the account database cache and had to be read from disk, broken down by cache size class (1-10 MiB)
rpc_​accdb_​account_​waitedcounterNumber of accounts that had to wait for a concurrent writer to publish a disk offset before being read
rpc_​accdb_​batch_​acquiredcounterNumber of fd_accdb_acquire (batch acquire) calls made by this tile
rpc_​accdb_​bytes_​readcounterNumber of bytes read from the account database
rpc_​accdb_​read_​operationcounterNumber of read operations performed on the account database
rpc_​accdb_​bytes_​copiedcounterNumber of bytes copied out of the account database cache on a cache hit

Resolh Tile

MetricTypeDescription
resolh_​txn_​no_​bankcounterTransactions dropped because the bank was not available
resolh_​stash_​operation
{resolve_​stash_​operation="inserted"}
counterOperations that happened on the transaction stash (A transaction with an unknown blockhash was added to the stash)
resolh_​stash_​operation
{resolve_​stash_​operation="overrun"}
counterOperations that happened on the transaction stash (A transaction with an unknown blockhash was dropped because the stash was full)
resolh_​stash_​operation
{resolve_​stash_​operation="published"}
counterOperations that happened on the transaction stash (A transaction with an unknown blockhash was published as the blockhash became known)
resolh_​stash_​operation
{resolve_​stash_​operation="removed"}
counterOperations that happened on the transaction stash (A transaction with an unknown blockhash was removed from the stash without publishing, due to a bad LUT resolved failure, or no bank. These errors are double counted with the respective metrics for those categories)
resolh_​lut_​resolved
{lut_​resolve_​result="invalid_​lookup_​index"}
counterAddress lookup tables resolved (The transaction referenced an index in a LUT that didn't exist)
resolh_​lut_​resolved
{lut_​resolve_​result="account_​uninitialized"}
counterAddress lookup tables resolved (The account referenced as a LUT hasn't been initialized)
resolh_​lut_​resolved
{lut_​resolve_​result="invalid_​account_​data"}
counterAddress lookup tables resolved (The account referenced as a LUT couldn't be parsed)
resolh_​lut_​resolved
{lut_​resolve_​result="invalid_​account_​owner"}
counterAddress lookup tables resolved (The account referenced as a LUT wasn't owned by the ALUT program ID)
resolh_​lut_​resolved
{lut_​resolve_​result="account_​not_​found"}
counterAddress lookup tables resolved (The account referenced as a LUT couldn't be found)
resolh_​lut_​resolved
{lut_​resolve_​result="success"}
counterAddress lookup tables resolved (Resolved successfully)
resolh_​blockhash_​expiredcounterTransactions that failed to resolve because the blockhash was expired
resolh_​txn_​bundle_​peer_​failedcounterTransactions that failed to resolve because a peer transaction in the bundle failed

Bank Tile

MetricTypeDescription
bank_​txn_​sanitize_​failedcounterTransactions that failed to sanitize
bank_​txn_​not_​executed_​failedcounterTransactions that did not execute. Different from transactions that fail to execute, which make it onto the chain
bank_​txn_​load_​address_​table
{lut_​resolve_​result="invalid_​lookup_​index"}
counterResult of loading address lookup tables for a transaction. If there are multiple errors for the transaction, only the first one is reported (The transaction referenced an index in a LUT that didn't exist)
bank_​txn_​load_​address_​table
{lut_​resolve_​result="account_​uninitialized"}
counterResult of loading address lookup tables for a transaction. If there are multiple errors for the transaction, only the first one is reported (The account referenced as a LUT hasn't been initialized)
bank_​txn_​load_​address_​table
{lut_​resolve_​result="invalid_​account_​data"}
counterResult of loading address lookup tables for a transaction. If there are multiple errors for the transaction, only the first one is reported (The account referenced as a LUT couldn't be parsed)
bank_​txn_​load_​address_​table
{lut_​resolve_​result="invalid_​account_​owner"}
counterResult of loading address lookup tables for a transaction. If there are multiple errors for the transaction, only the first one is reported (The account referenced as a LUT wasn't owned by the ALUT program ID)
bank_​txn_​load_​address_​table
{lut_​resolve_​result="account_​not_​found"}
counterResult of loading address lookup tables for a transaction. If there are multiple errors for the transaction, only the first one is reported (The account referenced as a LUT couldn't be found)
bank_​txn_​load_​address_​table
{lut_​resolve_​result="success"}
counterResult of loading address lookup tables for a transaction. If there are multiple errors for the transaction, only the first one is reported (Resolved successfully)
bank_​txn_​result
{transaction_​error="success"}
counterResult of loading and executing a transaction (Success)
bank_​txn_​result
{transaction_​error="account_​in_​use"}
counterResult of loading and executing a transaction (An account is already being processed in another transaction in a way that does not support parallelism)
bank_​txn_​result
{transaction_​error="account_​loaded_​twice"}
counterResult of loading and executing a transaction (A Pubkey appears twice in the transaction's account_keys. Instructions can reference Pubkeys more than once but the message must contain a list with no duplicate keys)
bank_​txn_​result
{transaction_​error="account_​not_​found"}
counterResult of loading and executing a transaction (Attempt to debit an account but found no record of a prior credit)
bank_​txn_​result
{transaction_​error="program_​account_​not_​found"}
counterResult of loading and executing a transaction (Attempt to load a program that does not exist)
bank_​txn_​result
{transaction_​error="insufficient_​funds_​for_​fee"}
counterResult of loading and executing a transaction (The fee payer Pubkey does not have sufficient balance to pay the fee to schedule the transaction)
bank_​txn_​result
{transaction_​error="invalid_​account_​for_​fee"}
counterResult of loading and executing a transaction (This account may not be used to pay transaction fees)
bank_​txn_​result
{transaction_​error="already_​processed"}
counterResult of loading and executing a transaction (The bank has seen this transaction before. This can occur under normal operation when a UDP packet is duplicated, as a user error from a client not updating its recent_blockhash, or as a double-spend attack)
bank_​txn_​result
{transaction_​error="blockhash_​not_​found"}
counterResult of loading and executing a transaction (The bank has not seen the given recent_blockhash or the transaction is too old and the recent_blockhash has been discarded)
bank_​txn_​result
{transaction_​error="instruction_​error"}
counterResult of loading and executing a transaction (An error occurred while processing an instruction)
bank_​txn_​result
{transaction_​error="call_​chain_​too_​deep"}
counterResult of loading and executing a transaction (Loader call chain is too deep)
bank_​txn_​result
{transaction_​error="missing_​signature_​for_​fee"}
counterResult of loading and executing a transaction (Transaction requires a fee but has no signature present)
bank_​txn_​result
{transaction_​error="invalid_​account_​index"}
counterResult of loading and executing a transaction (Transaction contains an invalid account reference)
bank_​txn_​result
{transaction_​error="signature_​failure"}
counterResult of loading and executing a transaction (Transaction did not pass signature verification)
bank_​txn_​result
{transaction_​error="invalid_​program_​for_​execution"}
counterResult of loading and executing a transaction (This program may not be used for executing instructions)
bank_​txn_​result
{transaction_​error="sanitize_​failure"}
counterResult of loading and executing a transaction (Transaction failed to sanitize accounts offsets correctly implies that account locks are not taken for this TX, and should not be unlocked)
bank_​txn_​result
{transaction_​error="cluster_​maintenance"}
counterResult of loading and executing a transaction (Transactions are currently disabled due to cluster maintenance)
bank_​txn_​result
{transaction_​error="account_​borrow_​outstanding"}
counterResult of loading and executing a transaction (Transaction processing left an account with an outstanding borrowed reference)
bank_​txn_​result
{transaction_​error="would_​exceed_​max_​block_​cost_​limit"}
counterResult of loading and executing a transaction (Transaction would exceed max Block Cost Limit)
bank_​txn_​result
{transaction_​error="unsupported_​version"}
counterResult of loading and executing a transaction (Transaction version is unsupported)
bank_​txn_​result
{transaction_​error="invalid_​writable_​account"}
counterResult of loading and executing a transaction (Transaction loads a writable account that cannot be written)
bank_​txn_​result
{transaction_​error="would_​exceed_​max_​account_​cost_​limit"}
counterResult of loading and executing a transaction (Transaction would exceed max account limit within the block)
bank_​txn_​result
{transaction_​error="would_​exceed_​account_​data_​block_​limit"}
counterResult of loading and executing a transaction (Transaction would exceed account data limit within the block)
bank_​txn_​result
{transaction_​error="too_​many_​account_​locks"}
counterResult of loading and executing a transaction (Transaction locked too many accounts)
bank_​txn_​result
{transaction_​error="address_​lookup_​table_​not_​found"}
counterResult of loading and executing a transaction (Address lookup table not found)
bank_​txn_​result
{transaction_​error="invalid_​address_​lookup_​table_​owner"}
counterResult of loading and executing a transaction (Attempted to lookup addresses from an account owned by the wrong program)
bank_​txn_​result
{transaction_​error="invalid_​address_​lookup_​table_​data"}
counterResult of loading and executing a transaction (Attempted to lookup addresses from an invalid account)
bank_​txn_​result
{transaction_​error="invalid_​address_​lookup_​table_​index"}
counterResult of loading and executing a transaction (Address table lookup uses an invalid index)
bank_​txn_​result
{transaction_​error="invalid_​rent_​paying_​account"}
counterResult of loading and executing a transaction (Transaction leaves an account with a lower balance than rent-exempt minimum)
bank_​txn_​result
{transaction_​error="would_​exceed_​max_​vote_​cost_​limit"}
counterResult of loading and executing a transaction (Transaction would exceed max Vote Cost Limit)
bank_​txn_​result
{transaction_​error="would_​exceed_​account_​data_​total_​limit"}
counterResult of loading and executing a transaction (Transaction would exceed total account data limit)
bank_​txn_​result
{transaction_​error="duplicate_​instruction"}
counterResult of loading and executing a transaction (Transaction contains a duplicate instruction that is not allowed)
bank_​txn_​result
{transaction_​error="insufficient_​funds_​for_​rent"}
counterResult of loading and executing a transaction (Transaction results in an account with insufficient funds for rent)
bank_​txn_​result
{transaction_​error="max_​loaded_​accounts_​data_​size_​exceeded"}
counterResult of loading and executing a transaction (Transaction exceeded max loaded accounts data size cap)
bank_​txn_​result
{transaction_​error="invalid_​loaded_​accounts_​data_​size_​limit"}
counterResult of loading and executing a transaction (LoadedAccountsDataSizeLimit set for transaction must be greater than 0)
bank_​txn_​result
{transaction_​error="resanitization_​needed"}
counterResult of loading and executing a transaction (Sanitized transaction differed before/after feature activation. Needs to be resanitized)
bank_​txn_​result
{transaction_​error="program_​execution_​temporarily_​restricted"}
counterResult of loading and executing a transaction (Program execution is temporarily restricted on an account)
bank_​txn_​result
{transaction_​error="unbalanced_​transaction"}
counterResult of loading and executing a transaction (The total balance before the transaction does not equal the total balance after the transaction)
bank_​txn_​result
{transaction_​error="program_​cache_​hit_​max_​limit"}
counterResult of loading and executing a transaction (The total program cache size hit the maximum allowed limit)
bank_​txn_​result
{transaction_​error="commit_​cancelled"}
counterResult of loading and executing a transaction (The process for committing the transaction was cancelled internally)
bank_​txn_​result
{transaction_​error="bundle_​peer"}
counterResult of loading and executing a transaction (Transaction is part of a bundle and one of the peer transactions failed)
bank_​txn_​processing_​failedcounterTransactions for which the processing stage failed and won't land on chain
bank_​txn_​fee_​onlycounterTransactions that will land on chain but without executing
bank_​txn_​executed
{txn_​execute_​result="success"}
counterTransactions that execute on chain, by outcome (Executed on chain and succeeded)
bank_​txn_​executed
{txn_​execute_​result="failed"}
counterTransactions that execute on chain, by outcome (Executed on chain but failed)
bank_​txn_​cost_​model_​undercountcounterTransactions that used more CUs than the cost model should have permitted them to

Pohh Tile

MetricTypeDescription
pohh_​begin_​leader_​delay_​secondshistogramDelay between when we become leader in a slot and when we receive the bank
pohh_​first_​microblock_​delay_​secondshistogramDelay between when we become leader in a slot and when we receive the first microblock
pohh_​slot_​done_​delay_​secondshistogramDelay between when we become leader in a slot and when we finish the slot
pohh_​bundle_​initialize_​delay_​secondshistogramDelay in starting the slot caused by loading the information needed to generate the bundle crank transactions

Store Tile

MetricTypeDescription
store_​txn_​insertedcounterTransactions produced while we were leader in the shreds that have been inserted so far

Backt Tile

MetricTypeDescription
backt_​final_​slotgaugeSlot after which the backtest will complete
backt_​start_​slotgaugeSlot at which the backtest started

Benchs Tile

MetricTypeDescription
benchs_​txn_​txcounterBenchmark transactions sent

Guih Tile

MetricTypeDescription
guih_​conn_​activegaugeActive HTTP connections to the GUI service, excluding connections that have been upgraded to a WebSocket connection
guih_​websocket_​conn_​activegaugeActive WebSocket connections to the GUI service
guih_​websocket_​frame_​txcounterWebSocket frames sent to all connections to the GUI service
guih_​websocket_​frame_​rxcounterWebSocket frames received from all connections to the GUI service
guih_​bytes_​writtencounterBytes written to all connections to the GUI service
guih_​bytes_​readcounterBytes read from all connections to the GUI service