Skip to content

repair, replay: boot screen metrics #5936

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions book/api/metrics-generated.md
Original file line number Diff line number Diff line change
Expand Up @@ -484,17 +484,6 @@

</div>

## Storei Tile

<div class="metrics">

| Metric | Type | Description |
|--------|------|-------------|
| <span class="metrics-name">storei_&#8203;first_&#8203;turbine_&#8203;slot</span> | gauge | |
| <span class="metrics-name">storei_&#8203;current_&#8203;turbine_&#8203;slot</span> | gauge | |

</div>

## Gossip Tile

<div class="metrics">
Expand Down Expand Up @@ -720,6 +709,9 @@

| Metric | Type | Description |
|--------|------|-------------|
| <span class="metrics-name">repair_&#8203;first_&#8203;turbine_&#8203;slot</span> | gauge | |
| <span class="metrics-name">repair_&#8203;latest_&#8203;turbine_&#8203;slot</span> | gauge | |
| <span class="metrics-name">repair_&#8203;latest_&#8203;repair_&#8203;slot</span> | gauge | |
| <span class="metrics-name">repair_&#8203;recv_&#8203;clnt_&#8203;pkt</span> | counter | Now many client packets have we received |
| <span class="metrics-name">repair_&#8203;recv_&#8203;serv_&#8203;pkt</span> | counter | How many server packets have we received |
| <span class="metrics-name">repair_&#8203;recv_&#8203;serv_&#8203;corrupt_&#8203;pkt</span> | counter | How many corrupt server packets have we received |
Expand Down
11 changes: 4 additions & 7 deletions src/app/firedancer/topology.c
Original file line number Diff line number Diff line change
Expand Up @@ -788,22 +788,19 @@ fd_topo_initialize( config_t * config ) {
fd_topob_wksp( topo, "plugin_out" );
fd_topob_wksp( topo, "plugin" );

/**/ fd_topob_link( topo, "plugin_out", "plugin_out", 128UL, 8UL+40200UL*(58UL+12UL*34UL), 1UL );
/**/ fd_topob_link( topo, "replay_plugi", "plugin_in", 128UL, 4098*8UL, 1UL );
/**/ fd_topob_link( topo, "gossip_plugi", "plugin_in", 128UL, 8UL+40200UL*(58UL+12UL*34UL), 1UL );
/**/ fd_topob_link( topo, "votes_plugin", "plugin_in", 128UL, 8UL+40200UL*(58UL+12UL*34UL), 1UL );
/**/ fd_topob_link( topo, "plugin_out", "plugin_out", 128UL, 8UL+40200UL*(58UL+12UL*34UL), 1UL );
/**/ fd_topob_link( topo, "replay_plugi", "plugin_in", 128UL, 4098*8UL, 1UL );
/**/ fd_topob_link( topo, "gossip_plugi", "plugin_in", 128UL, 8UL+40200UL*(58UL+12UL*34UL), 1UL );

/**/ fd_topob_tile( topo, "plugin", "plugin", "metric_in", tile_to_cpu[ topo->tile_cnt ], 0, 0 );

/**/ fd_topob_tile_out( topo, "replay", 0UL, "replay_plugi", 0UL );
/**/ fd_topob_tile_out( topo, "replay", 0UL, "votes_plugin", 0UL );
/**/ fd_topob_tile_out( topo, "gossip", 0UL, "gossip_plugi", 0UL );
/**/ fd_topob_tile_out( topo, "plugin", 0UL, "plugin_out", 0UL );
/**/ fd_topob_tile_out( topo, "plugin", 0UL, "plugin_out", 0UL );

/**/ fd_topob_tile_in( topo, "plugin", 0UL, "metric_in", "replay_plugi", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED );
/**/ fd_topob_tile_in( topo, "plugin", 0UL, "metric_in", "gossip_plugi", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED );
/**/ fd_topob_tile_in( topo, "plugin", 0UL, "metric_in", "stake_out", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED );
/**/ fd_topob_tile_in( topo, "plugin", 0UL, "metric_in", "votes_plugin", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED );
}

/* Link from writer tile to replay tile, to send solcap account updates so that they are serialized.
Expand Down
3 changes: 0 additions & 3 deletions src/disco/metrics/generated/fd_metrics_all.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ const char * FD_METRICS_TILE_KIND_NAMES[FD_METRICS_TILE_KIND_CNT] = {
"store",
"metric",
"replay",
"storei",
"gossip",
"netlnk",
"sock",
Expand All @@ -74,7 +73,6 @@ const ulong FD_METRICS_TILE_KIND_SIZES[FD_METRICS_TILE_KIND_CNT] = {
FD_METRICS_STORE_TOTAL,
FD_METRICS_METRIC_TOTAL,
FD_METRICS_REPLAY_TOTAL,
FD_METRICS_STOREI_TOTAL,
FD_METRICS_GOSSIP_TOTAL,
FD_METRICS_NETLNK_TOTAL,
FD_METRICS_SOCK_TOTAL,
Expand All @@ -98,7 +96,6 @@ const fd_metrics_meta_t * FD_METRICS_TILE_KIND_METRICS[FD_METRICS_TILE_KIND_CNT]
FD_METRICS_STORE,
FD_METRICS_METRIC,
FD_METRICS_REPLAY,
FD_METRICS_STOREI,
FD_METRICS_GOSSIP,
FD_METRICS_NETLNK,
FD_METRICS_SOCK,
Expand Down
3 changes: 1 addition & 2 deletions src/disco/metrics/generated/fd_metrics_all.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#include "fd_metrics_shred.h"
#include "fd_metrics_store.h"
#include "fd_metrics_replay.h"
#include "fd_metrics_storei.h"
#include "fd_metrics_repair.h"
#include "fd_metrics_gossip.h"
#include "fd_metrics_netlnk.h"
Expand Down Expand Up @@ -160,7 +159,7 @@ extern const fd_metrics_meta_t FD_METRICS_ALL_LINK_OUT[FD_METRICS_ALL_LINK_OUT_T

#define FD_METRICS_TOTAL_SZ (8UL*253UL)

#define FD_METRICS_TILE_KIND_CNT 22
#define FD_METRICS_TILE_KIND_CNT 21
extern const char * FD_METRICS_TILE_KIND_NAMES[FD_METRICS_TILE_KIND_CNT];
extern const ulong FD_METRICS_TILE_KIND_SIZES[FD_METRICS_TILE_KIND_CNT];
extern const fd_metrics_meta_t * FD_METRICS_TILE_KIND_METRICS[FD_METRICS_TILE_KIND_CNT];
3 changes: 3 additions & 0 deletions src/disco/metrics/generated/fd_metrics_repair.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
#include "fd_metrics_repair.h"

const fd_metrics_meta_t FD_METRICS_REPAIR[FD_METRICS_REPAIR_TOTAL] = {
DECLARE_METRIC( REPAIR_FIRST_TURBINE_SLOT, GAUGE ),
DECLARE_METRIC( REPAIR_LATEST_TURBINE_SLOT, GAUGE ),
DECLARE_METRIC( REPAIR_LATEST_REPAIR_SLOT, GAUGE ),
DECLARE_METRIC( REPAIR_RECV_CLNT_PKT, COUNTER ),
DECLARE_METRIC( REPAIR_RECV_SERV_PKT, COUNTER ),
DECLARE_METRIC( REPAIR_RECV_SERV_CORRUPT_PKT, COUNTER ),
Expand Down
62 changes: 40 additions & 22 deletions src/disco/metrics/generated/fd_metrics_repair.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,87 +3,105 @@
#include "../fd_metrics_base.h"
#include "fd_metrics_enums.h"

#define FD_METRICS_COUNTER_REPAIR_RECV_CLNT_PKT_OFF (16UL)
#define FD_METRICS_GAUGE_REPAIR_FIRST_TURBINE_SLOT_OFF (16UL)
#define FD_METRICS_GAUGE_REPAIR_FIRST_TURBINE_SLOT_NAME "repair_first_turbine_slot"
#define FD_METRICS_GAUGE_REPAIR_FIRST_TURBINE_SLOT_TYPE (FD_METRICS_TYPE_GAUGE)
#define FD_METRICS_GAUGE_REPAIR_FIRST_TURBINE_SLOT_DESC ""
#define FD_METRICS_GAUGE_REPAIR_FIRST_TURBINE_SLOT_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_GAUGE_REPAIR_LATEST_TURBINE_SLOT_OFF (17UL)
#define FD_METRICS_GAUGE_REPAIR_LATEST_TURBINE_SLOT_NAME "repair_latest_turbine_slot"
#define FD_METRICS_GAUGE_REPAIR_LATEST_TURBINE_SLOT_TYPE (FD_METRICS_TYPE_GAUGE)
#define FD_METRICS_GAUGE_REPAIR_LATEST_TURBINE_SLOT_DESC ""
#define FD_METRICS_GAUGE_REPAIR_LATEST_TURBINE_SLOT_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_GAUGE_REPAIR_LATEST_REPAIR_SLOT_OFF (18UL)
#define FD_METRICS_GAUGE_REPAIR_LATEST_REPAIR_SLOT_NAME "repair_latest_repair_slot"
#define FD_METRICS_GAUGE_REPAIR_LATEST_REPAIR_SLOT_TYPE (FD_METRICS_TYPE_GAUGE)
#define FD_METRICS_GAUGE_REPAIR_LATEST_REPAIR_SLOT_DESC ""
#define FD_METRICS_GAUGE_REPAIR_LATEST_REPAIR_SLOT_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_REPAIR_RECV_CLNT_PKT_OFF (19UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_CLNT_PKT_NAME "repair_recv_clnt_pkt"
#define FD_METRICS_COUNTER_REPAIR_RECV_CLNT_PKT_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_RECV_CLNT_PKT_DESC "Now many client packets have we received"
#define FD_METRICS_COUNTER_REPAIR_RECV_CLNT_PKT_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_OFF (17UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_OFF (20UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_NAME "repair_recv_serv_pkt"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_DESC "How many server packets have we received"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_CORRUPT_PKT_OFF (18UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_CORRUPT_PKT_OFF (21UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_CORRUPT_PKT_NAME "repair_recv_serv_corrupt_pkt"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_CORRUPT_PKT_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_CORRUPT_PKT_DESC "How many corrupt server packets have we received"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_CORRUPT_PKT_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_INVALID_SIGNATURE_OFF (19UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_INVALID_SIGNATURE_OFF (22UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_INVALID_SIGNATURE_NAME "repair_recv_serv_invalid_signature"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_INVALID_SIGNATURE_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_INVALID_SIGNATURE_DESC "How many invalid signatures have we received"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_INVALID_SIGNATURE_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_FULL_PING_TABLE_OFF (20UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_FULL_PING_TABLE_OFF (23UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_FULL_PING_TABLE_NAME "repair_recv_serv_full_ping_table"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_FULL_PING_TABLE_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_FULL_PING_TABLE_DESC "Is our ping table full and causing packet drops"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_FULL_PING_TABLE_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_OFF (21UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_OFF (24UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_NAME "repair_recv_serv_pkt_types"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_DESC "Server messages received"
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_CVT (FD_METRICS_CONVERTER_NONE)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_CNT (5UL)

#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_PONG_OFF (21UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_WINDOW_OFF (22UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_HIGHEST_WINDOW_OFF (23UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_ORPHAN_OFF (24UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_UNKNOWN_OFF (25UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_PONG_OFF (24UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_WINDOW_OFF (25UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_HIGHEST_WINDOW_OFF (26UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_ORPHAN_OFF (27UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_SERV_PKT_TYPES_UNKNOWN_OFF (28UL)

#define FD_METRICS_COUNTER_REPAIR_RECV_PKT_CORRUPTED_MSG_OFF (26UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_PKT_CORRUPTED_MSG_OFF (29UL)
#define FD_METRICS_COUNTER_REPAIR_RECV_PKT_CORRUPTED_MSG_NAME "repair_recv_pkt_corrupted_msg"
#define FD_METRICS_COUNTER_REPAIR_RECV_PKT_CORRUPTED_MSG_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_RECV_PKT_CORRUPTED_MSG_DESC "How many corrupt messages have we received"
#define FD_METRICS_COUNTER_REPAIR_RECV_PKT_CORRUPTED_MSG_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_REPAIR_SEND_PKT_CNT_OFF (27UL)
#define FD_METRICS_COUNTER_REPAIR_SEND_PKT_CNT_OFF (30UL)
#define FD_METRICS_COUNTER_REPAIR_SEND_PKT_CNT_NAME "repair_send_pkt_cnt"
#define FD_METRICS_COUNTER_REPAIR_SEND_PKT_CNT_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_SEND_PKT_CNT_DESC "How many packets have sent"
#define FD_METRICS_COUNTER_REPAIR_SEND_PKT_CNT_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_OFF (28UL)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_OFF (31UL)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_NAME "repair_sent_pkt_types"
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_DESC "What types of client messages are we sending"
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_CVT (FD_METRICS_CONVERTER_NONE)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_CNT (3UL)

#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_NEEDED_WINDOW_OFF (28UL)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_NEEDED_HIGHEST_WINDOW_OFF (29UL)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_NEEDED_ORPHAN_OFF (30UL)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_NEEDED_WINDOW_OFF (31UL)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_NEEDED_HIGHEST_WINDOW_OFF (32UL)
#define FD_METRICS_COUNTER_REPAIR_SENT_PKT_TYPES_NEEDED_ORPHAN_OFF (33UL)

#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_OFF (31UL)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_OFF (34UL)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_NAME "repair_store_link_wait"
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_TYPE (FD_METRICS_TYPE_HISTOGRAM)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_DESC "Time in seconds spent waiting for the store to link a new FEC set"
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_CVT (FD_METRICS_CONVERTER_SECONDS)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_MIN (1e-08)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_MAX (0.001)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WAIT_MAX (0.0005)

#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_OFF (48UL)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_OFF (51UL)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_NAME "repair_store_link_work"
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_TYPE (FD_METRICS_TYPE_HISTOGRAM)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_DESC "Time in seconds spent on linking a new FEC set"
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_CVT (FD_METRICS_CONVERTER_SECONDS)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_MIN (1e-08)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_MAX (0.001)
#define FD_METRICS_HISTOGRAM_REPAIR_STORE_LINK_WORK_MAX (0.0005)

#define FD_METRICS_REPAIR_TOTAL (17UL)
#define FD_METRICS_REPAIR_TOTAL (20UL)
extern const fd_metrics_meta_t FD_METRICS_REPAIR[FD_METRICS_REPAIR_TOTAL];
4 changes: 2 additions & 2 deletions src/disco/metrics/generated/fd_metrics_shred.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,15 +117,15 @@
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WAIT_DESC "Time in seconds spent waiting for the store to insert a new FEC set"
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WAIT_CVT (FD_METRICS_CONVERTER_SECONDS)
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WAIT_MIN (1e-08)
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WAIT_MAX (0.001)
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WAIT_MAX (0.0005)

#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WORK_OFF (133UL)
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WORK_NAME "shred_store_insert_work"
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WORK_TYPE (FD_METRICS_TYPE_HISTOGRAM)
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WORK_DESC "Time in seconds spent on inserting a new FEC set"
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WORK_CVT (FD_METRICS_CONVERTER_SECONDS)
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WORK_MIN (1e-08)
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WORK_MAX (0.001)
#define FD_METRICS_HISTOGRAM_SHRED_STORE_INSERT_WORK_MAX (0.0005)

#define FD_METRICS_SHRED_TOTAL (22UL)
extern const fd_metrics_meta_t FD_METRICS_SHRED[FD_METRICS_SHRED_TOTAL];
7 changes: 3 additions & 4 deletions src/disco/metrics/metrics.xml
Original file line number Diff line number Diff line change
Expand Up @@ -680,10 +680,6 @@ metric introduced.
<summary>Time in seconds spent on publishing a new FEC set</summary>
</histogram>
</tile>
<tile name="storei">
<gauge name="FirstTurbineSlot" label="The first slot for which we have received a turbine shred" />
<gauge name="CurrentTurbineSlot" label="The latest slot for which we have received a turbine shred" />
</tile>
<enum name="GossipMessage">
<int value="0" name="PullRequest" label="Pull Request" />
<int value="1" name="PullResponse" label="Pull Response" />
Expand Down Expand Up @@ -791,6 +787,9 @@ metric introduced.


<tile name="repair">
<gauge name="FirstTurbineSlot" label="The first slot for which we have received a turbine shred" />
<gauge name="LatestTurbineSlot" label="The latest slot for which we have received a turbine shred" />
<gauge name="LatestRepairSlot" label="The latest slot for which we have sent out a repair request" />
<counter name="RecvClntPkt" clickhouse_exclude="true" summary="Now many client packets have we received" />
<counter name="RecvServPkt" clickhouse_exclude="true" summary="How many server packets have we received" />
<counter name="RecvServCorruptPkt" clickhouse_exclude="true" summary="How many corrupt server packets have we received" />
Expand Down
6 changes: 6 additions & 0 deletions src/discof/repair/fd_repair_tile.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ struct fd_repair_tile_ctx {

ulong * turbine_slot0;
ulong * turbine_slot;
ulong latest_repair_slot; /* slot of most recent repair request, used as a gauge metric */

uchar identity_private_key[ 32 ];
fd_pubkey_t identity_public_key;
Expand Down Expand Up @@ -412,6 +413,7 @@ fd_repair_send_requests( fd_repair_tile_ctx_t * ctx,
fd_repair_send_request( ctx, stem, glob, type, slot, shred_index, id, now );
if( FD_UNLIKELY( glob->peer_idx >= glob->peer_cnt ) ) glob->peer_idx = 0; /* wrap around */
}
ctx->latest_repair_slot = slot;
}


Expand Down Expand Up @@ -1060,6 +1062,10 @@ static inline void
metrics_write( fd_repair_tile_ctx_t * ctx ) {
/* Repair-protocol-specific metrics */
fd_repair_metrics_t * metrics = fd_repair_get_metrics( ctx->repair );
FD_MGAUGE_SET( REPAIR, FIRST_TURBINE_SLOT, fd_fseq_query( ctx->turbine_slot0 ) );
FD_MGAUGE_SET( REPAIR, LATEST_TURBINE_SLOT, fd_fseq_query( ctx->turbine_slot ) );
FD_MGAUGE_SET( REPAIR, LATEST_REPAIR_SLOT, ctx->latest_repair_slot );

FD_MCNT_SET( REPAIR, RECV_CLNT_PKT, metrics->recv_clnt_pkt );
FD_MCNT_SET( REPAIR, RECV_SERV_PKT, metrics->recv_serv_pkt );
FD_MCNT_SET( REPAIR, RECV_SERV_CORRUPT_PKT, metrics->recv_serv_corrupt_pkt );
Expand Down
Loading
Loading