diff --git a/nano/lib/stats_enums.hpp b/nano/lib/stats_enums.hpp index ee9d8799..d855b029 100644 --- a/nano/lib/stats_enums.hpp +++ b/nano/lib/stats_enums.hpp @@ -249,6 +249,8 @@ enum class detail generate_vote_final, broadcast_block_initial, broadcast_block_repeat, + confirm_once, + confirm_once_failed, // election types manual, diff --git a/nano/node/election.cpp b/nano/node/election.cpp index 98fa9ba4..48b856a6 100644 --- a/nano/node/election.cpp +++ b/nano/node/election.cpp @@ -56,6 +56,7 @@ void nano::election::confirm_once (nano::unique_lock & lock_a) node.active.recently_confirmed.put (qualified_root, status_l.winner->hash ()); + node.stats.inc (nano::stat::type::election, nano::stat::detail::confirm_once); node.logger.trace (nano::log::type::election, nano::log::detail::election_confirmed, nano::log::arg{ "id", id }, nano::log::arg{ "qualified_root", qualified_root }, @@ -74,6 +75,7 @@ void nano::election::confirm_once (nano::unique_lock & lock_a) } else { + node.stats.inc (nano::stat::type::election, nano::stat::detail::confirm_once_failed); lock_a.unlock (); } } diff --git a/nano/node/node.cpp b/nano/node/node.cpp index 3cda7ce3..43829823 100644 --- a/nano/node/node.cpp +++ b/nano/node/node.cpp @@ -1143,6 +1143,8 @@ void nano::node::ongoing_online_weight_calculation () void nano::node::process_confirmed (nano::election_status const & status_a, uint64_t iteration_a) { + stats.inc (nano::stat::type::process_confirmed, nano::stat::detail::initiate); + auto hash (status_a.winner->hash ()); 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))