Skip to content

Commit 402d543

Browse files
Merge branch 'main' of https://github.com/firedancer-io/firedancer into ibhatt/cleanup
2 parents b4eb152 + ea1bd0d commit 402d543

File tree

117 files changed

+11478
-370
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+11478
-370
lines changed

book/api/metrics-generated.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -702,13 +702,13 @@
702702
| <span class="metrics-name">repair_&#8203;sent_&#8203;pkt_&#8203;types</span><br/>{repair_&#8203;sent_&#8203;request_&#8203;types="<span class="metrics-enum">needed_&#8203;highest_&#8203;window</span>"} | counter | What types of client messages are we sending (Need Highest Window) |
703703
| <span class="metrics-name">repair_&#8203;sent_&#8203;pkt_&#8203;types</span><br/>{repair_&#8203;sent_&#8203;request_&#8203;types="<span class="metrics-enum">needed_&#8203;orphan</span>"} | counter | What types of client messages are we sending (Need Orphans) |
704704
| <span class="metrics-name">repair_&#8203;sent_&#8203;pkt_&#8203;types</span><br/>{repair_&#8203;sent_&#8203;request_&#8203;types="<span class="metrics-enum">pong</span>"} | counter | What types of client messages are we sending (Pong) |
705-
| <span class="metrics-name">repair_&#8203;send_&#8203;pkt_&#8203;rate</span> | gauge | Rate of network packets we are sending, in packets per second coarsely |
706705
| <span class="metrics-name">repair_&#8203;repaired_&#8203;slots</span> | counter | Until which slots have we fully repaired |
707706
| <span class="metrics-name">repair_&#8203;current_&#8203;slot</span> | counter | Our view of the current cluster slot, max slot received |
708707
| <span class="metrics-name">repair_&#8203;request_&#8203;peers</span> | counter | How many peers have we requested |
709708
| <span class="metrics-name">repair_&#8203;sign_&#8203;tile_&#8203;unavail</span> | counter | How many times no sign tiles were available to send request |
710709
| <span class="metrics-name">repair_&#8203;eager_&#8203;repair_&#8203;aggresses</span> | counter | How many times we pass eager repair threshold |
711710
| <span class="metrics-name">repair_&#8203;rerequest_&#8203;queue</span> | counter | How many times we re-request a shred from the inflights queue |
711+
| <span class="metrics-name">repair_&#8203;malformed_&#8203;ping</span> | counter | How many times we received a malformed ping |
712712
| <span class="metrics-name">repair_&#8203;slot_&#8203;complete_&#8203;time</span> | histogram | Time in seconds it took to complete a slot |
713713
| <span class="metrics-name">repair_&#8203;response_&#8203;latency</span> | histogram | Time in nanoseconds it took to receive a repair request response |
714714
| <span class="metrics-name">repair_&#8203;sign_&#8203;duration_&#8203;seconds</span> | histogram | Duration of signing a message |
@@ -1120,3 +1120,13 @@
11201120
| <span class="metrics-name">benchs_&#8203;transactions_&#8203;sent</span> | counter | Number of benchmark packets sent |
11211121

11221122
</div>
1123+
1124+
## Snapwh Tile
1125+
1126+
<div class="metrics">
1127+
1128+
| Metric | Type | Description |
1129+
|--------|------|-------------|
1130+
| <span class="metrics-name">snapwh_&#8203;state</span> | gauge | State of the tile. 0=IDLE, 1=PROCESSING, 4=SHUTDOWN |
1131+
1132+
</div>

book/api/websocket.md

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1417,7 +1417,8 @@ identity is no longer in these three data sources, it will be removed.
14171417
"name": "ExampleStake Firedancer 🔥💃",
14181418
"details": "A longer description of the validator, perhaps describing the team behind it or how the node is operated",
14191419
"website": "https://github.com/firedancer-io/firedancer",
1420-
"icon_url": "https://docs.firedancer.io/fire.svg"
1420+
"icon_url": "https://docs.firedancer.io/fire.svg",
1421+
"keybase_username": ""
14211422
}
14221423
}
14231424
],
@@ -1449,29 +1450,30 @@ identity is no longer in these three data sources, it will be removed.
14491450
| delinquent | `boolean` | Whether the vote account is delinquent or not. A vote account is considered delinquent if it has not had a vote land on chain for any of the last 127 (inclusive) confirmed slots, according to this validator. If there have been less than 128 confirmed slots on the chain (it is a new chain), a validator is considered delinquent only if it has not voted yet at all |
14501451

14511452
**`PeerUpdateInfo`**
1452-
| Field | Type | Description |
1453-
|----------|----------|-------------|
1454-
| name | `string\|null` | Self reported name of the validator, could be any string or null if there is no name set |
1455-
| details | `string\|null` | Self reported detailed description of the validator, could be any string or null if there is no details set |
1456-
| website | `string\|null` | Self reported website of the validator, could be any string and need not be a valid URI, or could be null if there is no website set |
1457-
| icon_url | `string\|null` | Self reported URL of the validator icon, could be any string and need not be a valid URI, or could be null if there is no icon URI set |
1453+
| Field | Type | Description |
1454+
|------------------|----------|-------------|
1455+
| name | `string` | Self reported name of the validator, could be any string or empty string if there is no name set |
1456+
| details | `string` | Self reported detailed description of the validator, could be any string or empty string if there is no details set |
1457+
| website | `string` | Self reported website of the validator, could be any string and need not be a valid URI, or could be empty string if there is no website set |
1458+
| icon_url | `string` | Self reported URL of the validator icon, could be any string and need not be a valid URI, or could be empty string if there is no icon URI set |
1459+
| keybase_username | `string` | Self reported keybase username of the validator, could be any string or empty string if there is no username set. Keybase is a public, legacy storage for icon images. Although this method for publiscising an icon is deprecated, it is included for completeness as many validators have not migrated to `iconUrl` |
14581460

14591461
**`PeerUpdate`**
1460-
| Field | Type | Description
1461-
|----------|--------|------------
1462-
| identity | `string` | Identity public key of the validator, encoded in base58 |
1463-
| gossip | `PeerUpdateGossip\|null` | Information reported for the validator identity over the gossip network. This is authenticated and the gossip node must have been in possession of the private key to publish gossip data as this identity. Gossip information is not validated or checked for correctness and could be set to any values by the peer |
1462+
| Field | Type | Description |
1463+
|----------|---------------------------|-------------|
1464+
| identity | `string` | Identity public key of the validator, encoded in base58 |
1465+
| gossip | `PeerUpdateGossip\|null` | Information reported for the validator identity over the gossip network. This is authenticated and the gossip node must have been in possession of the private key to publish gossip data as this identity. Gossip information is not validated or checked for correctness and could be set to any values by the peer |
14641466
| vote | `PeerUpdateVoteAccount[]` | Information about the vote account(s) associated with this identity key, if there are any. It is extremely unusual for multiple vote accounts to report the same identity key. Vote account information like stake and commission is derived from the accounts on chain and cannot be corrupt, invalid, or incorrect |
1465-
| info | `PeerUpdateInfo\|null` | If the validator has published self reported identifying information to the chain. This is authenticated and the operator must have been in possession of the private key to publish info as this identity. Information is not validated or checked for correctness and could be set to any values by the peer |
1467+
| info | `PeerUpdateInfo\|null` | If the validator has published self reported identifying information to the chain. This is authenticated and the operator must have been in possession of the private key to publish info as this identity. Information is not validated or checked for correctness and could be set to any values by the peer |
14661468

14671469
**`PeerRemove`**
1468-
| Field | Type | Description |
1469-
|----------|--------|-------------|
1470+
| Field | Type | Description |
1471+
|----------|----------|-------------|
14701472
| identity | `string` | Identity public key of the validator, encoded in base58 |
14711473

14721474
**`PeersUpdate`**
1473-
| Field | Type | Description |
1474-
|--------|--------|-------------|
1475+
| Field | Type | Description |
1476+
|--------|----------------------|-------------|
14751477
| add | `GossipPeerUpdate[]` | List of peer validators that were added since the last update, or all of the peers for the first update after connecting |
14761478
| update | `GossipPeerUpdate[]` | List of peer validators that were changed since the last update |
14771479
| remove | `GossipPeerRemove[]` | List of peer validators that were removed since the last update |

config/extra/with-offline-replay.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
include config/extra/with-handholding.mk
2+
include config/extra/with-debug.mk
23
CPPFLAGS+=-DFD_SPAD_TRACK_USAGE=1
34
CFLAGS+=-DFD_SPAD_TRACK_USAGE=1
45

contrib/offline-replay/offline_replay.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
cluster_version = "{cluster_version}"
1111
[tiles.gui]
1212
enabled = false
13+
[tiles.rpc]
14+
enabled = false
1315
[funk]
1416
heap_size_gib = {funk_pages}
1517
max_account_records = {index_max}

deps.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -665,9 +665,9 @@ while [[ $# -gt 0 ]]; do
665665
PREFIX="$(pwd)/opt-msan"
666666
_CC=clang
667667
_CXX=clang++
668-
EXTRA_CFLAGS+="-fsanitize=memory"
669-
EXTRA_CXXFLAGS+="$EXTRA_CFLAGS -nostdinc++ -nostdlib++ -isystem $PREFIX/include/c++/v1"
670-
EXTRA_LDFLAGS+="$PREFIX/lib/libc++.a $PREFIX/lib/libc++abi.a"
668+
EXTRA_CFLAGS+=" -fsanitize=memory"
669+
EXTRA_CXXFLAGS+=" $EXTRA_CFLAGS -nostdinc++ -nostdlib++ -isystem $PREFIX/include/c++/v1"
670+
EXTRA_LDFLAGS+=" $PREFIX/lib/libc++.a $PREFIX/lib/libc++abi.a"
671671
;;
672672
"+dev")
673673
shift

src/app/firedancer-dev/commands/backtest.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ backtest_topo( config_t * config ) {
9090
fd_topob_tile_uses( topo, replay_tile, progcache_obj, FD_SHMEM_JOIN_MODE_READ_WRITE );
9191

9292
if( snap_vinyl ) {
93-
setup_topo_vinyl( topo, &config->firedancer );
93+
setup_topo_vinyl_meta( topo, &config->firedancer );
9494
}
9595

9696
/**********************************************************************/
@@ -294,9 +294,6 @@ backtest_topo( config_t * config ) {
294294
for( ulong i=0UL; i<exec_tile_cnt; i++ ) {
295295
fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "exec", i ) ], txncache_obj, FD_SHMEM_JOIN_MODE_READ_WRITE );
296296
}
297-
for( ulong i=0UL; i<bank_tile_cnt; i++ ) {
298-
fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "bank", i ) ], txncache_obj, FD_SHMEM_JOIN_MODE_READ_WRITE );
299-
}
300297

301298
FD_TEST( fd_pod_insertf_ulong( topo->props, txncache_obj->id, "txncache" ) );
302299
for( ulong i=0UL; i<bank_tile_cnt; i++ ) {

src/app/firedancer-dev/commands/repair.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,6 +741,7 @@ repair_cmd_fn_profiler_mode( args_t * args,
741741

742742
ulong turbine_slot0 = 0UL;
743743
long last_print = fd_log_wallclock();
744+
ulong last_sent = 0UL;
744745
fd_topo_run_single_process( &config->topo, 0, config->uid, config->gid, fdctl_tile_run );
745746
for(;;) {
746747

@@ -771,7 +772,8 @@ repair_cmd_fn_profiler_mode( args_t * args,
771772
printf( " | HighestWindow | %s |\n", fmt_count( buf2, repair_metrics[ MIDX( COUNTER, REPAIR, SENT_PKT_TYPES_NEEDED_HIGHEST_WINDOW ) ] ) );
772773
printf( " | Index | %s |\n", fmt_count( buf2, repair_metrics[ MIDX( COUNTER, REPAIR, SENT_PKT_TYPES_NEEDED_WINDOW ) ] ) );
773774
printf( " +---------------+--------------+\n" );
774-
printf( " Send Pkt Rate: %s pps\n", fmt_count( buf2, repair_metrics[ MIDX( GAUGE, REPAIR, SEND_PKT_RATE ) ] ) );
775+
printf( " Send Pkt Rate: %s pps\n", fmt_count( buf2, (ulong)((sent - last_sent)*1e9L / (now - last_print) ) ) );
776+
last_sent = sent;
775777

776778
/* Sum overrun across all net tiles connected to repair_net */
777779
ulong total_overrun = repair_net_links[0][ MIDX( COUNTER, LINK, OVERRUN_POLLING_FRAG_COUNT ) ]; /* coarse double counting prevention */

0 commit comments

Comments
 (0)