diff --git a/book/api/metrics-generated.md b/book/api/metrics-generated.md index c02bc40c97..4cb4cc2b8a 100644 --- a/book/api/metrics-generated.md +++ b/book/api/metrics-generated.md @@ -612,6 +612,62 @@ | gossip_​message_​tx_​bytes
{gossip_​message="prune"} | counter | (Prune) | | gossip_​message_​tx_​bytes
{gossip_​message="ping"} | counter | (Ping) | | gossip_​message_​tx_​bytes
{gossip_​message="pong"} | counter | (Pong) | +| gossip_​crds_​rx_​push_​count
{crds_​value="contact_​info_​v1"} | counter | (Contact Info V1) | +| gossip_​crds_​rx_​push_​count
{crds_​value="vote"} | counter | (Vote) | +| gossip_​crds_​rx_​push_​count
{crds_​value="lowest_​slot"} | counter | (Lowest Slot) | +| gossip_​crds_​rx_​push_​count
{crds_​value="snapshot_​hashes"} | counter | (Snapshot Hashes) | +| gossip_​crds_​rx_​push_​count
{crds_​value="accounts_​hashes"} | counter | (Accounts Hashes) | +| gossip_​crds_​rx_​push_​count
{crds_​value="epoch_​slots"} | counter | (Epoch Slots) | +| gossip_​crds_​rx_​push_​count
{crds_​value="version_​v1"} | counter | (Version V1) | +| gossip_​crds_​rx_​push_​count
{crds_​value="version_​v2"} | counter | (Version V2) | +| gossip_​crds_​rx_​push_​count
{crds_​value="node_​instance"} | counter | (Node Instance) | +| gossip_​crds_​rx_​push_​count
{crds_​value="duplicate_​shred"} | counter | (Duplicate Shred) | +| gossip_​crds_​rx_​push_​count
{crds_​value="incremental_​snapshot_​hashes"} | counter | (Incremental Snapshot Hashes) | +| gossip_​crds_​rx_​push_​count
{crds_​value="contact_​info_​v2"} | counter | (Contact Info V2) | +| gossip_​crds_​rx_​push_​count
{crds_​value="restart_​last_​voted_​fork_​slots"} | counter | (Restart Last Voted Fork Slots) | +| gossip_​crds_​rx_​push_​count
{crds_​value="restart_​heaviest_​fork"} | counter | (Restart Heaviest Fork) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="contact_​info_​v1"} | counter | (Contact Info V1) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="vote"} | counter | (Vote) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="lowest_​slot"} | counter | (Lowest Slot) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="snapshot_​hashes"} | counter | (Snapshot Hashes) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="accounts_​hashes"} | counter | (Accounts Hashes) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="epoch_​slots"} | counter | (Epoch Slots) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="version_​v1"} | counter | (Version V1) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="version_​v2"} | counter | (Version V2) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="node_​instance"} | counter | (Node Instance) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="duplicate_​shred"} | counter | (Duplicate Shred) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="incremental_​snapshot_​hashes"} | counter | (Incremental Snapshot Hashes) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="contact_​info_​v2"} | counter | (Contact Info V2) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="restart_​last_​voted_​fork_​slots"} | counter | (Restart Last Voted Fork Slots) | +| gossip_​crds_​rx_​push_​bytes
{crds_​value="restart_​heaviest_​fork"} | counter | (Restart Heaviest Fork) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="contact_​info_​v1"} | counter | (Contact Info V1) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="vote"} | counter | (Vote) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="lowest_​slot"} | counter | (Lowest Slot) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="snapshot_​hashes"} | counter | (Snapshot Hashes) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="accounts_​hashes"} | counter | (Accounts Hashes) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="epoch_​slots"} | counter | (Epoch Slots) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="version_​v1"} | counter | (Version V1) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="version_​v2"} | counter | (Version V2) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="node_​instance"} | counter | (Node Instance) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="duplicate_​shred"} | counter | (Duplicate Shred) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="incremental_​snapshot_​hashes"} | counter | (Incremental Snapshot Hashes) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="contact_​info_​v2"} | counter | (Contact Info V2) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="restart_​last_​voted_​fork_​slots"} | counter | (Restart Last Voted Fork Slots) | +| gossip_​crds_​rx_​pull_​response_​count
{crds_​value="restart_​heaviest_​fork"} | counter | (Restart Heaviest Fork) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="contact_​info_​v1"} | counter | (Contact Info V1) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="vote"} | counter | (Vote) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="lowest_​slot"} | counter | (Lowest Slot) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="snapshot_​hashes"} | counter | (Snapshot Hashes) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="accounts_​hashes"} | counter | (Accounts Hashes) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="epoch_​slots"} | counter | (Epoch Slots) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="version_​v1"} | counter | (Version V1) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="version_​v2"} | counter | (Version V2) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="node_​instance"} | counter | (Node Instance) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="duplicate_​shred"} | counter | (Duplicate Shred) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="incremental_​snapshot_​hashes"} | counter | (Incremental Snapshot Hashes) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="contact_​info_​v2"} | counter | (Contact Info V2) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="restart_​last_​voted_​fork_​slots"} | counter | (Restart Last Voted Fork Slots) | +| gossip_​crds_​rx_​pull_​response_​bytes
{crds_​value="restart_​heaviest_​fork"} | counter | (Restart Heaviest Fork) | | gossip_​crds_​tx_​push_​count
{crds_​value="contact_​info_​v1"} | counter | (Contact Info V1) | | gossip_​crds_​tx_​push_​count
{crds_​value="vote"} | counter | (Vote) | | gossip_​crds_​tx_​push_​count
{crds_​value="lowest_​slot"} | counter | (Lowest Slot) | diff --git a/book/api/websocket.md b/book/api/websocket.md index 38ec018be5..0884c050d5 100644 --- a/book/api/websocket.md +++ b/book/api/websocket.md @@ -1370,6 +1370,8 @@ which is specified below. "expired_total": 1234, "evicted_total": 0, "count": [0, 10608, 95, ...], + "count_rx": [0, 10608, 95, ...], + "bytes_rx": [0, 9827342, 9723, ...], "count_tx": [0, 10608, 95, ...], "bytes_tx": [0, 9827342, 9723, ...], }, @@ -1421,6 +1423,8 @@ which is specified below. | expired_total | `number` | The cumulative number of Gossip Table entries that have expired and been removed | | evicted_total | `number` | The cumulative number of Gossip Table entries that have been evicted due to insufficient space | | count | `number[]` | `count[i]` is the number of currently active `table_entries[i]` entries currently in the Gossip Table | +| count_rx | `number[]` | `count_rx[i]` is the number of successful and failed ingress `table_entries[i]` entries received until now | +| bytes_rx | `number[]` | `bytes_rx[i]` is the number of successful and failed ingress `table_entries[i]` bytes received until now | | count_tx | `number[]` | `count_tx[i]` is the number of egress `table_entries[i]` entries transmitted until now | | bytes_tx | `number[]` | `bytes_tx[i]` is the number of egress `table_entries[i]` bytes transmitted until now | diff --git a/src/disco/gui/fd_gui_peers.c b/src/disco/gui/fd_gui_peers.c index 7c2d547556..7b0f8e2eb7 100644 --- a/src/disco/gui/fd_gui_peers.c +++ b/src/disco/gui/fd_gui_peers.c @@ -322,6 +322,92 @@ fd_gui_peers_gossip_stats_snap( fd_gui_peers_ctx_t * peers, gossip_stats->storage_active_cnt[ FD_METRICS_ENUM_CRDS_VALUE_V_RESTART_LAST_VOTED_FORK_SLOTS_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( GAUGE, GOSSIP, CRDS_COUNT_RESTART_LAST_VOTED_FORK_SLOTS ) ); gossip_stats->storage_active_cnt[ FD_METRICS_ENUM_CRDS_VALUE_V_RESTART_HEAVIEST_FORK_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( GAUGE, GOSSIP, CRDS_COUNT_RESTART_HEAVIEST_FORK ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_CONTACT_INFO_V1_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_CONTACT_INFO_V1 ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_CONTACT_INFO_V1 ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_VOTE_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_VOTE ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_VOTE ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_LOWEST_SLOT_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_LOWEST_SLOT ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_LOWEST_SLOT ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_SNAPSHOT_HASHES_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_SNAPSHOT_HASHES ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_SNAPSHOT_HASHES ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_ACCOUNTS_HASHES_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_ACCOUNTS_HASHES ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_ACCOUNTS_HASHES ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_EPOCH_SLOTS_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_EPOCH_SLOTS ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_EPOCH_SLOTS ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_VERSION_V1_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_VERSION_V1 ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_VERSION_V1 ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_VERSION_V2_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_VERSION_V2 ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_VERSION_V2 ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_NODE_INSTANCE_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_NODE_INSTANCE ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_NODE_INSTANCE ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_DUPLICATE_SHRED_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_DUPLICATE_SHRED ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_DUPLICATE_SHRED ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_INCREMENTAL_SNAPSHOT_HASHES_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_INCREMENTAL_SNAPSHOT_HASHES ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_INCREMENTAL_SNAPSHOT_HASHES ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_CONTACT_INFO_V2_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_CONTACT_INFO_V2 ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_CONTACT_INFO_V2 ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_RESTART_LAST_VOTED_FORK_SLOTS_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_RESTART_LAST_VOTED_FORK_SLOTS ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_RESTART_LAST_VOTED_FORK_SLOTS ) ); + gossip_stats->storage_cnt_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_RESTART_HEAVIEST_FORK_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_COUNT_RESTART_HEAVIEST_FORK ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT_RESTART_HEAVIEST_FORK ) ); + + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_CONTACT_INFO_V1_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_CONTACT_INFO_V1 ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_CONTACT_INFO_V1 ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_VOTE_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_VOTE ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_VOTE ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_LOWEST_SLOT_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_LOWEST_SLOT ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_LOWEST_SLOT ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_SNAPSHOT_HASHES_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_SNAPSHOT_HASHES ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_SNAPSHOT_HASHES ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_ACCOUNTS_HASHES_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_ACCOUNTS_HASHES ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_ACCOUNTS_HASHES ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_EPOCH_SLOTS_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_EPOCH_SLOTS ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_EPOCH_SLOTS ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_VERSION_V1_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_VERSION_V1 ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_VERSION_V1 ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_VERSION_V2_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_VERSION_V2 ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_VERSION_V2 ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_NODE_INSTANCE_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_NODE_INSTANCE ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_NODE_INSTANCE ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_DUPLICATE_SHRED_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_DUPLICATE_SHRED ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_DUPLICATE_SHRED ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_INCREMENTAL_SNAPSHOT_HASHES_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_INCREMENTAL_SNAPSHOT_HASHES ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_TX_PULL_RESPONSE_BYTES_INCREMENTAL_SNAPSHOT_HASHES ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_CONTACT_INFO_V2_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_CONTACT_INFO_V2 ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_TX_PULL_RESPONSE_BYTES_CONTACT_INFO_V2 ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_RESTART_LAST_VOTED_FORK_SLOTS_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_RESTART_LAST_VOTED_FORK_SLOTS ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_RESTART_LAST_VOTED_FORK_SLOTS ) ); + gossip_stats->storage_bytes_rx[ FD_METRICS_ENUM_CRDS_VALUE_V_RESTART_HEAVIEST_FORK_IDX ] = + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PUSH_BYTES_RESTART_HEAVIEST_FORK ) ) + + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES_RESTART_HEAVIEST_FORK ) ); + gossip_stats->storage_cnt_tx[ FD_METRICS_ENUM_CRDS_VALUE_V_CONTACT_INFO_V1_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_TX_PUSH_COUNT_CONTACT_INFO_V1 ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, CRDS_TX_PULL_RESPONSE_COUNT_CONTACT_INFO_V1 ) ); @@ -415,7 +501,7 @@ fd_gui_peers_gossip_stats_snap( fd_gui_peers_ctx_t * peers, gossip_stats->messages_bytes_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PONG_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_BYTES_SUCCESS_PONG ) ); gossip_stats->messages_bytes_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PRUNE_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_BYTES_SUCCESS_PRUNE ) ); - gossip_stats->messages_count_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PULL_REQUEST_IDX ] = + gossip_stats->messages_cnt_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PULL_REQUEST_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_SUCCESS_PULL_REQUEST ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PULL_REQUEST_NOT_CONTACT_INFO ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PULL_REQUEST_LOOPBACK ) ) @@ -423,19 +509,19 @@ fd_gui_peers_gossip_stats_snap( fd_gui_peers_ctx_t * peers, + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PULL_REQUEST_WALLCLOCK ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PULL_REQUEST_SIGNATURE ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PULL_REQUEST_SHRED_VERSION ) ); - gossip_stats->messages_count_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PULL_RESPONSE_IDX ] = + gossip_stats->messages_cnt_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PULL_RESPONSE_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_SUCCESS_PULL_RESPONSE ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PULL_RESPONSE_NO_VALID_CRDS ) ); - gossip_stats->messages_count_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PUSH_IDX ] = + gossip_stats->messages_cnt_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PUSH_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_SUCCESS_PUSH ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PUSH_NO_VALID_CRDS ) ); - gossip_stats->messages_count_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PING_IDX ] = + gossip_stats->messages_cnt_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PING_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_SUCCESS_PING ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PING_SIGNATURE ) ); - gossip_stats->messages_count_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PONG_IDX ] = + gossip_stats->messages_cnt_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PONG_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_SUCCESS_PONG ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PONG_SIGNATURE ) ); - gossip_stats->messages_count_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PRUNE_IDX ] = + gossip_stats->messages_cnt_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PRUNE_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_SUCCESS_PRUNE ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PRUNE_DESTINATION ) ) + fd_gui_metrics_sum_tiles_counter( peers->topo, "gossvf", gossvf_tile_cnt, MIDX( COUNTER, GOSSVF, MESSAGE_RX_COUNT_DROPPED_PRUNE_WALLCLOCK ) ) @@ -448,12 +534,12 @@ fd_gui_peers_gossip_stats_snap( fd_gui_peers_ctx_t * peers, gossip_stats->messages_bytes_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PONG_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_BYTES_PONG ) ); gossip_stats->messages_bytes_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PRUNE_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_BYTES_PRUNE ) ); - gossip_stats->messages_count_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PULL_REQUEST_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PULL_REQUEST ) ); - gossip_stats->messages_count_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PULL_RESPONSE_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PULL_RESPONSE ) ); - gossip_stats->messages_count_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PUSH_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PUSH ) ); - gossip_stats->messages_count_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PING_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PING ) ); - gossip_stats->messages_count_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PONG_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PONG ) ); - gossip_stats->messages_count_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PRUNE_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PRUNE ) ); + gossip_stats->messages_cnt_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PULL_REQUEST_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PULL_REQUEST ) ); + gossip_stats->messages_cnt_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PULL_RESPONSE_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PULL_RESPONSE ) ); + gossip_stats->messages_cnt_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PUSH_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PUSH ) ); + gossip_stats->messages_cnt_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PING_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PING ) ); + gossip_stats->messages_cnt_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PONG_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PONG ) ); + gossip_stats->messages_cnt_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_V_PRUNE_IDX ] = fd_gui_metrics_sum_tiles_counter( peers->topo, "gossip", gossip_tile_cnt, MIDX( COUNTER, GOSSIP, MESSAGE_TX_COUNT_PRUNE ) ); } static int diff --git a/src/disco/gui/fd_gui_peers.h b/src/disco/gui/fd_gui_peers.h index 5f1d6f5325..60451d4bc5 100644 --- a/src/disco/gui/fd_gui_peers.h +++ b/src/disco/gui/fd_gui_peers.h @@ -215,6 +215,8 @@ struct fd_gui_peers_gossip_stats { ulong storage_expired_cnt; ulong storage_evicted_cnt; ulong storage_active_cnt[ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; + ulong storage_cnt_rx [ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; + ulong storage_bytes_rx [ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; ulong storage_cnt_tx [ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; ulong storage_bytes_tx [ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; ulong messages_push_rx_cnt; @@ -222,9 +224,9 @@ struct fd_gui_peers_gossip_stats { ulong messages_pull_response_rx_cnt; ulong messages_pull_response_tx_cnt; ulong messages_bytes_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_CNT ]; - ulong messages_count_rx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_CNT ]; + ulong messages_cnt_rx [ FD_METRICS_ENUM_GOSSIP_MESSAGE_CNT ]; ulong messages_bytes_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_CNT ]; - ulong messages_count_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_CNT ]; + ulong messages_cnt_tx [ FD_METRICS_ENUM_GOSSIP_MESSAGE_CNT ]; }; typedef struct fd_gui_peers_gossip_stats fd_gui_peers_gossip_stats_t; diff --git a/src/disco/gui/fd_gui_printf.c b/src/disco/gui/fd_gui_printf.c index 79c33383e0..1609d39790 100644 --- a/src/disco/gui/fd_gui_printf.c +++ b/src/disco/gui/fd_gui_printf.c @@ -2344,6 +2344,12 @@ fd_gui_peers_printf_gossip_stats( fd_gui_peers_ctx_t * peers ) { jsonp_open_array( peers->http, "count" ); for( ulong i = 0UL; ihttp, NULL, cur->storage_active_cnt[ i ] ); jsonp_close_array( peers->http ); + jsonp_open_array( peers->http, "count_rx" ); + for( ulong i = 0UL; ihttp, NULL, cur->storage_cnt_rx[ i ] ); + jsonp_close_array( peers->http ); + jsonp_open_array( peers->http, "bytes_rx" ); + for( ulong i = 0UL; ihttp, NULL, cur->storage_bytes_rx[ i ] ); + jsonp_close_array( peers->http ); jsonp_open_array( peers->http, "count_tx" ); for( ulong i = 0UL; ihttp, NULL, cur->storage_cnt_tx[ i ] ); jsonp_close_array( peers->http ); @@ -2359,10 +2365,10 @@ fd_gui_peers_printf_gossip_stats( fd_gui_peers_ctx_t * peers ) { for( ulong i = 0UL; ihttp, NULL, cur->messages_bytes_tx[ i ] ); jsonp_close_array( peers->http ); jsonp_open_array( peers->http, "num_messages_rx" ); - for( ulong i = 0UL; ihttp, NULL, cur->messages_count_rx[ i ] ); + for( ulong i = 0UL; ihttp, NULL, cur->messages_cnt_rx[ i ] ); jsonp_close_array( peers->http ); jsonp_open_array( peers->http, "num_messages_tx" ); - for( ulong i = 0UL; ihttp, NULL, cur->messages_count_tx[ i ] ); + for( ulong i = 0UL; ihttp, NULL, cur->messages_cnt_tx[ i ] ); jsonp_close_array( peers->http ); jsonp_close_object( peers->http ); jsonp_close_object( peers->http ); diff --git a/src/disco/metrics/generated/fd_metrics_gossip.c b/src/disco/metrics/generated/fd_metrics_gossip.c index a0f3089dfd..30d096a47b 100644 --- a/src/disco/metrics/generated/fd_metrics_gossip.c +++ b/src/disco/metrics/generated/fd_metrics_gossip.c @@ -64,6 +64,62 @@ const fd_metrics_meta_t FD_METRICS_GOSSIP[FD_METRICS_GOSSIP_TOTAL] = { DECLARE_METRIC_ENUM( GOSSIP_MESSAGE_TX_BYTES, COUNTER, GOSSIP_MESSAGE, PRUNE ), DECLARE_METRIC_ENUM( GOSSIP_MESSAGE_TX_BYTES, COUNTER, GOSSIP_MESSAGE, PING ), DECLARE_METRIC_ENUM( GOSSIP_MESSAGE_TX_BYTES, COUNTER, GOSSIP_MESSAGE, PONG ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, CONTACT_INFO_V1 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, VOTE ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, LOWEST_SLOT ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, SNAPSHOT_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, ACCOUNTS_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, EPOCH_SLOTS ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, VERSION_V1 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, VERSION_V2 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, NODE_INSTANCE ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, DUPLICATE_SHRED ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, INCREMENTAL_SNAPSHOT_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, CONTACT_INFO_V2 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, RESTART_LAST_VOTED_FORK_SLOTS ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_COUNT, COUNTER, CRDS_VALUE, RESTART_HEAVIEST_FORK ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, CONTACT_INFO_V1 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, VOTE ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, LOWEST_SLOT ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, SNAPSHOT_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, ACCOUNTS_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, EPOCH_SLOTS ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, VERSION_V1 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, VERSION_V2 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, NODE_INSTANCE ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, DUPLICATE_SHRED ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, INCREMENTAL_SNAPSHOT_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, CONTACT_INFO_V2 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, RESTART_LAST_VOTED_FORK_SLOTS ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PUSH_BYTES, COUNTER, CRDS_VALUE, RESTART_HEAVIEST_FORK ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, CONTACT_INFO_V1 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, VOTE ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, LOWEST_SLOT ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, SNAPSHOT_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, ACCOUNTS_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, EPOCH_SLOTS ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, VERSION_V1 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, VERSION_V2 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, NODE_INSTANCE ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, DUPLICATE_SHRED ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, INCREMENTAL_SNAPSHOT_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, CONTACT_INFO_V2 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, RESTART_LAST_VOTED_FORK_SLOTS ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT, COUNTER, CRDS_VALUE, RESTART_HEAVIEST_FORK ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, CONTACT_INFO_V1 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, VOTE ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, LOWEST_SLOT ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, SNAPSHOT_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, ACCOUNTS_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, EPOCH_SLOTS ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, VERSION_V1 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, VERSION_V2 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, NODE_INSTANCE ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, DUPLICATE_SHRED ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, INCREMENTAL_SNAPSHOT_HASHES ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, CONTACT_INFO_V2 ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, RESTART_LAST_VOTED_FORK_SLOTS ), + DECLARE_METRIC_ENUM( GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES, COUNTER, CRDS_VALUE, RESTART_HEAVIEST_FORK ), DECLARE_METRIC_ENUM( GOSSIP_CRDS_TX_PUSH_COUNT, COUNTER, CRDS_VALUE, CONTACT_INFO_V1 ), DECLARE_METRIC_ENUM( GOSSIP_CRDS_TX_PUSH_COUNT, COUNTER, CRDS_VALUE, VOTE ), DECLARE_METRIC_ENUM( GOSSIP_CRDS_TX_PUSH_COUNT, COUNTER, CRDS_VALUE, LOWEST_SLOT ), diff --git a/src/disco/metrics/generated/fd_metrics_gossip.h b/src/disco/metrics/generated/fd_metrics_gossip.h index 90c797521b..3437b47d11 100644 --- a/src/disco/metrics/generated/fd_metrics_gossip.h +++ b/src/disco/metrics/generated/fd_metrics_gossip.h @@ -211,95 +211,183 @@ #define FD_METRICS_COUNTER_GOSSIP_MESSAGE_TX_BYTES_PING_OFF (76UL) #define FD_METRICS_COUNTER_GOSSIP_MESSAGE_TX_BYTES_PONG_OFF (77UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_OFF (78UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_OFF (78UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_NAME "gossip_crds_rx_push_count" +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_TYPE (FD_METRICS_TYPE_COUNTER) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_DESC "" +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_CVT (FD_METRICS_CONVERTER_NONE) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_CNT (14UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_CONTACT_INFO_V1_OFF (78UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_VOTE_OFF (79UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_LOWEST_SLOT_OFF (80UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_SNAPSHOT_HASHES_OFF (81UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_ACCOUNTS_HASHES_OFF (82UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_EPOCH_SLOTS_OFF (83UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_VERSION_V1_OFF (84UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_VERSION_V2_OFF (85UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_NODE_INSTANCE_OFF (86UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_DUPLICATE_SHRED_OFF (87UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_INCREMENTAL_SNAPSHOT_HASHES_OFF (88UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_CONTACT_INFO_V2_OFF (89UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_RESTART_LAST_VOTED_FORK_SLOTS_OFF (90UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_COUNT_RESTART_HEAVIEST_FORK_OFF (91UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_OFF (92UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_NAME "gossip_crds_rx_push_bytes" +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_TYPE (FD_METRICS_TYPE_COUNTER) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_DESC "" +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_CVT (FD_METRICS_CONVERTER_NONE) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_CNT (14UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_CONTACT_INFO_V1_OFF (92UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_VOTE_OFF (93UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_LOWEST_SLOT_OFF (94UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_SNAPSHOT_HASHES_OFF (95UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_ACCOUNTS_HASHES_OFF (96UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_EPOCH_SLOTS_OFF (97UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_VERSION_V1_OFF (98UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_VERSION_V2_OFF (99UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_NODE_INSTANCE_OFF (100UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_DUPLICATE_SHRED_OFF (101UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_INCREMENTAL_SNAPSHOT_HASHES_OFF (102UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_CONTACT_INFO_V2_OFF (103UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_RESTART_LAST_VOTED_FORK_SLOTS_OFF (104UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PUSH_BYTES_RESTART_HEAVIEST_FORK_OFF (105UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_OFF (106UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_NAME "gossip_crds_rx_pull_response_count" +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_TYPE (FD_METRICS_TYPE_COUNTER) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_DESC "" +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_CVT (FD_METRICS_CONVERTER_NONE) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_CNT (14UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_CONTACT_INFO_V1_OFF (106UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_VOTE_OFF (107UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_LOWEST_SLOT_OFF (108UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_SNAPSHOT_HASHES_OFF (109UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_ACCOUNTS_HASHES_OFF (110UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_EPOCH_SLOTS_OFF (111UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_VERSION_V1_OFF (112UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_VERSION_V2_OFF (113UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_NODE_INSTANCE_OFF (114UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_DUPLICATE_SHRED_OFF (115UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_INCREMENTAL_SNAPSHOT_HASHES_OFF (116UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_CONTACT_INFO_V2_OFF (117UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_RESTART_LAST_VOTED_FORK_SLOTS_OFF (118UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_COUNT_RESTART_HEAVIEST_FORK_OFF (119UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_OFF (120UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_NAME "gossip_crds_rx_pull_response_bytes" +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_TYPE (FD_METRICS_TYPE_COUNTER) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_DESC "" +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_CVT (FD_METRICS_CONVERTER_NONE) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_CNT (14UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_CONTACT_INFO_V1_OFF (120UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_VOTE_OFF (121UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_LOWEST_SLOT_OFF (122UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_SNAPSHOT_HASHES_OFF (123UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_ACCOUNTS_HASHES_OFF (124UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_EPOCH_SLOTS_OFF (125UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_VERSION_V1_OFF (126UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_VERSION_V2_OFF (127UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_NODE_INSTANCE_OFF (128UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_DUPLICATE_SHRED_OFF (129UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_INCREMENTAL_SNAPSHOT_HASHES_OFF (130UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_CONTACT_INFO_V2_OFF (131UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_RESTART_LAST_VOTED_FORK_SLOTS_OFF (132UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_RX_PULL_RESPONSE_BYTES_RESTART_HEAVIEST_FORK_OFF (133UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_OFF (134UL) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_NAME "gossip_crds_tx_push_count" #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_TYPE (FD_METRICS_TYPE_COUNTER) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_DESC "" #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_CVT (FD_METRICS_CONVERTER_NONE) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_CNT (14UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_CONTACT_INFO_V1_OFF (78UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_VOTE_OFF (79UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_LOWEST_SLOT_OFF (80UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_SNAPSHOT_HASHES_OFF (81UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_ACCOUNTS_HASHES_OFF (82UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_EPOCH_SLOTS_OFF (83UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_VERSION_V1_OFF (84UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_VERSION_V2_OFF (85UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_NODE_INSTANCE_OFF (86UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_DUPLICATE_SHRED_OFF (87UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_INCREMENTAL_SNAPSHOT_HASHES_OFF (88UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_CONTACT_INFO_V2_OFF (89UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_RESTART_LAST_VOTED_FORK_SLOTS_OFF (90UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_RESTART_HEAVIEST_FORK_OFF (91UL) - -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_OFF (92UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_CONTACT_INFO_V1_OFF (134UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_VOTE_OFF (135UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_LOWEST_SLOT_OFF (136UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_SNAPSHOT_HASHES_OFF (137UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_ACCOUNTS_HASHES_OFF (138UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_EPOCH_SLOTS_OFF (139UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_VERSION_V1_OFF (140UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_VERSION_V2_OFF (141UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_NODE_INSTANCE_OFF (142UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_DUPLICATE_SHRED_OFF (143UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_INCREMENTAL_SNAPSHOT_HASHES_OFF (144UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_CONTACT_INFO_V2_OFF (145UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_RESTART_LAST_VOTED_FORK_SLOTS_OFF (146UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_COUNT_RESTART_HEAVIEST_FORK_OFF (147UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_OFF (148UL) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_NAME "gossip_crds_tx_push_bytes" #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_TYPE (FD_METRICS_TYPE_COUNTER) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_DESC "" #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_CVT (FD_METRICS_CONVERTER_NONE) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_CNT (14UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_CONTACT_INFO_V1_OFF (92UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_VOTE_OFF (93UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_LOWEST_SLOT_OFF (94UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_SNAPSHOT_HASHES_OFF (95UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_ACCOUNTS_HASHES_OFF (96UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_EPOCH_SLOTS_OFF (97UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_VERSION_V1_OFF (98UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_VERSION_V2_OFF (99UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_NODE_INSTANCE_OFF (100UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_DUPLICATE_SHRED_OFF (101UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_INCREMENTAL_SNAPSHOT_HASHES_OFF (102UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_CONTACT_INFO_V2_OFF (103UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_RESTART_LAST_VOTED_FORK_SLOTS_OFF (104UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_RESTART_HEAVIEST_FORK_OFF (105UL) - -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_OFF (106UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_CONTACT_INFO_V1_OFF (148UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_VOTE_OFF (149UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_LOWEST_SLOT_OFF (150UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_SNAPSHOT_HASHES_OFF (151UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_ACCOUNTS_HASHES_OFF (152UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_EPOCH_SLOTS_OFF (153UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_VERSION_V1_OFF (154UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_VERSION_V2_OFF (155UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_NODE_INSTANCE_OFF (156UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_DUPLICATE_SHRED_OFF (157UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_INCREMENTAL_SNAPSHOT_HASHES_OFF (158UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_CONTACT_INFO_V2_OFF (159UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_RESTART_LAST_VOTED_FORK_SLOTS_OFF (160UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PUSH_BYTES_RESTART_HEAVIEST_FORK_OFF (161UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_OFF (162UL) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_NAME "gossip_crds_tx_pull_response_count" #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_TYPE (FD_METRICS_TYPE_COUNTER) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_DESC "" #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_CVT (FD_METRICS_CONVERTER_NONE) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_CNT (14UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_CONTACT_INFO_V1_OFF (106UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_VOTE_OFF (107UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_LOWEST_SLOT_OFF (108UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_SNAPSHOT_HASHES_OFF (109UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_ACCOUNTS_HASHES_OFF (110UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_EPOCH_SLOTS_OFF (111UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_VERSION_V1_OFF (112UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_VERSION_V2_OFF (113UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_NODE_INSTANCE_OFF (114UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_DUPLICATE_SHRED_OFF (115UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_INCREMENTAL_SNAPSHOT_HASHES_OFF (116UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_CONTACT_INFO_V2_OFF (117UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_RESTART_LAST_VOTED_FORK_SLOTS_OFF (118UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_RESTART_HEAVIEST_FORK_OFF (119UL) - -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_OFF (120UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_CONTACT_INFO_V1_OFF (162UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_VOTE_OFF (163UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_LOWEST_SLOT_OFF (164UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_SNAPSHOT_HASHES_OFF (165UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_ACCOUNTS_HASHES_OFF (166UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_EPOCH_SLOTS_OFF (167UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_VERSION_V1_OFF (168UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_VERSION_V2_OFF (169UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_NODE_INSTANCE_OFF (170UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_DUPLICATE_SHRED_OFF (171UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_INCREMENTAL_SNAPSHOT_HASHES_OFF (172UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_CONTACT_INFO_V2_OFF (173UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_RESTART_LAST_VOTED_FORK_SLOTS_OFF (174UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_COUNT_RESTART_HEAVIEST_FORK_OFF (175UL) + +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_OFF (176UL) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_NAME "gossip_crds_tx_pull_response_bytes" #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_TYPE (FD_METRICS_TYPE_COUNTER) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_DESC "" #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_CVT (FD_METRICS_CONVERTER_NONE) #define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_CNT (14UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_CONTACT_INFO_V1_OFF (120UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_VOTE_OFF (121UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_LOWEST_SLOT_OFF (122UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_SNAPSHOT_HASHES_OFF (123UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_ACCOUNTS_HASHES_OFF (124UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_EPOCH_SLOTS_OFF (125UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_VERSION_V1_OFF (126UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_VERSION_V2_OFF (127UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_NODE_INSTANCE_OFF (128UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_DUPLICATE_SHRED_OFF (129UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_INCREMENTAL_SNAPSHOT_HASHES_OFF (130UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_CONTACT_INFO_V2_OFF (131UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_RESTART_LAST_VOTED_FORK_SLOTS_OFF (132UL) -#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_RESTART_HEAVIEST_FORK_OFF (133UL) - -#define FD_METRICS_GOSSIP_TOTAL (118UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_CONTACT_INFO_V1_OFF (176UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_VOTE_OFF (177UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_LOWEST_SLOT_OFF (178UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_SNAPSHOT_HASHES_OFF (179UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_ACCOUNTS_HASHES_OFF (180UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_EPOCH_SLOTS_OFF (181UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_VERSION_V1_OFF (182UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_VERSION_V2_OFF (183UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_NODE_INSTANCE_OFF (184UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_DUPLICATE_SHRED_OFF (185UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_INCREMENTAL_SNAPSHOT_HASHES_OFF (186UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_CONTACT_INFO_V2_OFF (187UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_RESTART_LAST_VOTED_FORK_SLOTS_OFF (188UL) +#define FD_METRICS_COUNTER_GOSSIP_CRDS_TX_PULL_RESPONSE_BYTES_RESTART_HEAVIEST_FORK_OFF (189UL) + +#define FD_METRICS_GOSSIP_TOTAL (174UL) extern const fd_metrics_meta_t FD_METRICS_GOSSIP[FD_METRICS_GOSSIP_TOTAL]; #endif /* HEADER_fd_src_disco_metrics_generated_fd_metrics_gossip_h */ diff --git a/src/disco/metrics/metrics.xml b/src/disco/metrics/metrics.xml index 7eac549fa2..af72725a8a 100644 --- a/src/disco/metrics/metrics.xml +++ b/src/disco/metrics/metrics.xml @@ -929,6 +929,11 @@ metric introduced. + + + + + @@ -1141,6 +1146,7 @@ metric introduced. + diff --git a/src/discof/gossip/fd_gossip_tile.c b/src/discof/gossip/fd_gossip_tile.c index abdf0173dc..9193f7a5bc 100644 --- a/src/discof/gossip/fd_gossip_tile.c +++ b/src/discof/gossip/fd_gossip_tile.c @@ -160,7 +160,11 @@ metrics_write( fd_gossip_tile_ctx_t * ctx ) { FD_MCNT_ENUM_COPY( GOSSIP, CRDS_TX_PULL_RESPONSE_COUNT, metrics->crds_tx_pull_response ); FD_MCNT_ENUM_COPY( GOSSIP, CRDS_TX_PULL_RESPONSE_BYTES, metrics->crds_tx_pull_response_bytes ); - FD_MCNT_ENUM_COPY( GOSSIP, CRDS_RX_COUNT, metrics->crds_rx_count ); + FD_MCNT_ENUM_COPY( GOSSIP, CRDS_RX_COUNT, metrics->crds_rx_count ); + FD_MCNT_ENUM_COPY( GOSSIP, CRDS_RX_PUSH_COUNT, metrics->crds_rx_push_count ); + FD_MCNT_ENUM_COPY( GOSSIP, CRDS_RX_PUSH_BYTES, metrics->crds_rx_push_bytes ); + FD_MCNT_ENUM_COPY( GOSSIP, CRDS_RX_PULL_RESPONSE_COUNT, metrics->crds_rx_pull_response_count ); + FD_MCNT_ENUM_COPY( GOSSIP, CRDS_RX_PULL_RESPONSE_BYTES, metrics->crds_rx_pull_response_bytes ); FD_MCNT_SET( GOSSIP, CONTACT_INFO_UNRECOGNIZED_SOCKET_TAGS, metrics->ci_rx_unrecognized_socket_tag_cnt ); FD_MCNT_SET( GOSSIP, CONTACT_INFO_IPV6, metrics->ci_rx_ipv6_address_cnt ); diff --git a/src/flamenco/gossip/fd_gossip.c b/src/flamenco/gossip/fd_gossip.c index 859d5e6ddc..ccffe20283 100644 --- a/src/flamenco/gossip/fd_gossip.c +++ b/src/flamenco/gossip/fd_gossip.c @@ -492,6 +492,10 @@ rx_pull_response( fd_gossip_t * gossip, for( ulong i=0UL; icrds_values_len; i++ ) { fd_gossip_view_crds_value_t const * value = &pull_response->crds_values[ i ]; + FD_TEST( value->tagmetrics->crds_rx_pull_response_count[ value->tag ]++; + gossip->metrics->crds_rx_pull_response_bytes[ value->tag ] += value->length; + int checks_res = fd_crds_checks_fast( gossip->crds, value, payload, 0 /* from_push_msg m*/ ); if( FD_UNLIKELY( !!checks_res ) ) { checks_res < 0 ? gossip->metrics->crds_rx_count[ FD_METRICS_ENUM_GOSSIP_CRDS_OUTCOME_V_DROPPED_PULL_RESPONSE_STALE_IDX ]++ @@ -553,6 +557,10 @@ process_push_crds( fd_gossip_t * gossip, fd_stem_context_t * stem ) { /* overrides_fast here, either count duplicates or purge if older (how!?) */ + FD_TEST( value->tagmetrics->crds_rx_push_count[ value->tag ]++; + gossip->metrics->crds_rx_push_bytes[ value->tag ] += value->length; + /* return values in both fd_crds_checks_fast and fd_crds_inserted need to be propagated since they both work the same (error>0 holds duplicate count). This is quite fragile. */ diff --git a/src/flamenco/gossip/fd_gossip.h b/src/flamenco/gossip/fd_gossip.h index aacec2247c..0d5f6be124 100644 --- a/src/flamenco/gossip/fd_gossip.h +++ b/src/flamenco/gossip/fd_gossip.h @@ -73,6 +73,10 @@ typedef void (*fd_gossip_sign_fn)( void * ctx, struct fd_gossip_metrics { ulong crds_rx_count[ FD_METRICS_ENUM_GOSSIP_CRDS_OUTCOME_CNT ]; + ulong crds_rx_push_count[ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; + ulong crds_rx_push_bytes[ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; + ulong crds_rx_pull_response_count[ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; + ulong crds_rx_pull_response_bytes[ FD_METRICS_ENUM_CRDS_VALUE_CNT ]; ulong message_tx[ FD_METRICS_ENUM_GOSSIP_MESSAGE_CNT ]; ulong message_tx_bytes[ FD_METRICS_ENUM_GOSSIP_MESSAGE_CNT ];