Stats for node::process_confirmed ()

This commit is contained in:
Piotr Wójcik 2024-10-12 13:30:12 +02:00
commit 2badf06647
2 changed files with 8 additions and 0 deletions

View file

@ -93,6 +93,7 @@ enum class type
message_processor,
message_processor_overfill,
message_processor_type,
process_confirmed,
_last // Must be the last enum
};
@ -134,6 +135,8 @@ enum class detail
cemented,
cooldown,
empty,
done,
retry,
// processing queue
queue,

View file

@ -1149,12 +1149,15 @@ void nano::node::process_confirmed (nano::election_status const & status_a, uint
decltype (iteration_a) const num_iters = (config.block_processor_batch_max_time / network_params.node.process_confirmed_interval) * 4;
if (auto block_l = ledger.any.block_get (ledger.tx_begin_read (), hash))
{
stats.inc (nano::stat::type::process_confirmed, nano::stat::detail::done);
logger.trace (nano::log::type::node, nano::log::detail::process_confirmed, nano::log::arg{ "block", block_l });
confirming_set.add (block_l->hash ());
}
else if (iteration_a < num_iters)
{
stats.inc (nano::stat::type::process_confirmed, nano::stat::detail::retry);
iteration_a++;
std::weak_ptr<nano::node> node_w (shared ());
election_workers.add_timed_task (std::chrono::steady_clock::now () + network_params.node.process_confirmed_interval, [node_w, status_a, iteration_a] () {
@ -1166,6 +1169,8 @@ void nano::node::process_confirmed (nano::election_status const & status_a, uint
}
else
{
stats.inc (nano::stat::type::process_confirmed, nano::stat::detail::timeout);
// Do some cleanup due to this block never being processed by confirmation height processor
active.remove_election_winner_details (hash);
}