This logging/tracing framework will help log every node operation (tracing the exact path blocks travel across components of the node), allowing it to be later analyzed with Python or other tools.
What problem would be solved by this feature?
This enables faster & more accurate debugging, allowing developers to find and improve bottlenecks, deadlocks, & timeouts more effectively. One example from some of the work done so far is the identification of potential correlations between process-confirmed and confirm_ack_received messages. So in theory, better prioritizing & processing incoming confirm_acks over new elections could improve stability and/or throughput under load.
This contributes towards the ultimate goal of achieving reliably steady TPS (even under saturation).
Summary
This logging/tracing framework will help log every node operation (tracing the exact path blocks travel across components of the node), allowing it to be later analyzed with Python or other tools.
What problem would be solved by this feature?
This enables faster & more accurate debugging, allowing developers to find and improve bottlenecks, deadlocks, & timeouts more effectively. One example from some of the work done so far is the identification of potential correlations between process-confirmed and confirm_ack_received messages. So in theory, better prioritizing & processing incoming confirm_acks over new elections could improve stability and/or throughput under load.
This contributes towards the ultimate goal of achieving reliably steady TPS (even under saturation).
Logging: https://github.com/nanocurrency/nano-node/pull/4375
Tracing: https://github.com/nanocurrency/nano-node/pull/4412