Dal_node: Add profiling for shards_handler
What
Add more PPX profiling calls to the DAL node code.
Why
To have a better understanding of our experiments.
How
Manually testing the MR
Run a DAL node on ghostnet and check the profiling results in dal_profiling.txt (like the process done so far)
Results on ghostnet look like this:
...
2025-06-19T10:24:35.284-00:00
BM9iL6WwSUhBsePFqukTsktaLa9Sj6SwHKrXb7WEYBa35yRdXjC ............................ 1 4002.114ms 25%
shards_handler ............................................................... 325 598.116ms 100%
count_values ............................................................... 325 0.877ms 98%
save_and_notify ............................................................ 325 594.890ms 100%
value_exists ............................................................. 325 141.801ms 99%
write_value .............................................................. 325 449.010ms 100%
update_timing_shard_received ............................................... 325 0.423ms 98%
new_finalized_head ........................................................... 1 26.092ms 39%
try_process_block .......................................................... 1 24.011ms 32%
process_block ............................................................ 1 24.009ms 32%
process_block_data ..................................................... 1 22.199ms 33%
publish_slot_data .................................................... 25 0.007ms 160%
block_info ........................................................... 1 6.782ms 48%
slot_headers ......................................................... 1 9.879ms 16%
store_slot_headers ................................................... 1 0.319ms 106%
fetch_committee ...................................................... 1 0.001ms 0%
dal_attestation ...................................................... 1 0.001ms 0%
update_selected_slot_headers_statuses ................................ 1 0.445ms 105%
remove_unattested_slots_and_shards ................................... 1 0.384ms 119%
get_attestations ..................................................... 1 1.522ms 42%
check_attesters_attested ............................................. 1 2.830ms 17%
inject_entrapment_evidences .......................................... 1 0.003ms 97%
2025-06-19T10:24:39.286-00:00
BLTujbZfqk5kpUN8gfDEv7CuT38xTgUcAsirqoL4iwjUex7o9hg ............................ 1 4283.949ms 14%
shards_handler ............................................................... 160 271.797ms 101%
count_values ............................................................... 160 0.636ms 95%
save_and_notify ............................................................ 160 270.108ms 101%
value_exists ............................................................. 160 60.654ms 101%
write_value .............................................................. 160 208.413ms 101%
update_timing_shard_received ............................................... 160 0.258ms 104%
new_finalized_head ........................................................... 1 23.896ms 42%
try_process_block .......................................................... 1 21.578ms 35%
process_block ............................................................ 1 21.575ms 35%
process_block_data ..................................................... 1 20.090ms 34%
publish_slot_data .................................................... 16 0.008ms 84%
block_info ........................................................... 1 5.625ms 46%
slot_headers ......................................................... 1 8.781ms 14%
store_slot_headers ................................................... 1 0.424ms 106%
fetch_committee ...................................................... 1 0.001ms 105%
dal_attestation ...................................................... 1 0.002ms 0%
update_selected_slot_headers_statuses ................................ 1 0.951ms 101%
remove_unattested_slots_and_shards ................................... 1 0.432ms 125%
get_attestations ..................................................... 1 1.261ms 27%
check_attesters_attested ............................................. 1 2.582ms 27%
inject_entrapment_evidences .......................................... 1 0.003ms 97%
2025-06-19T10:24:43.570-00:00
BL5DdCnRquCYnV3kKKo25ZJzDVXEyz5UP2YmLi5pkwMFCqozqFt ............................ 1 3628.434ms 25%
...
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Gabriel Moise