Log request aggregator
This commit is contained in:
parent
9d223ae71a
commit
418c8ec592
4 changed files with 22 additions and 6 deletions
|
|
@ -86,6 +86,7 @@ enum class type
|
|||
monitor,
|
||||
confirming_set,
|
||||
bounded_backlog,
|
||||
request_aggregator,
|
||||
|
||||
// bootstrap
|
||||
bulk_pull_client,
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ nano::node::node (std::shared_ptr<boost::asio::io_context> io_ctx_a, std::filesy
|
|||
final_generator{ *final_generator_impl },
|
||||
scheduler_impl{ std::make_unique<nano::scheduler::component> (config, *this, ledger, bucketing, block_processor, active, online_reps, vote_cache, confirming_set, stats, logger) },
|
||||
scheduler{ *scheduler_impl },
|
||||
aggregator_impl{ std::make_unique<nano::request_aggregator> (config.request_aggregator, *this, stats, generator, final_generator, history, ledger, wallets, vote_router) },
|
||||
aggregator_impl{ std::make_unique<nano::request_aggregator> (config.request_aggregator, *this, generator, final_generator, history, ledger, wallets, vote_router) },
|
||||
aggregator{ *aggregator_impl },
|
||||
backlog_scan_impl{ std::make_unique<nano::backlog_scan> (config.backlog_scan, ledger, stats) },
|
||||
backlog_scan{ *backlog_scan_impl },
|
||||
|
|
|
|||
|
|
@ -15,16 +15,17 @@
|
|||
#include <nano/secure/ledger_set_confirmed.hpp>
|
||||
#include <nano/store/component.hpp>
|
||||
|
||||
nano::request_aggregator::request_aggregator (request_aggregator_config const & config_a, nano::node & node_a, nano::stats & stats_a, nano::vote_generator & generator_a, nano::vote_generator & final_generator_a, nano::local_vote_history & history_a, nano::ledger & ledger_a, nano::wallets & wallets_a, nano::vote_router & vote_router_a) :
|
||||
nano::request_aggregator::request_aggregator (request_aggregator_config const & config_a, nano::node & node_a, nano::vote_generator & generator_a, nano::vote_generator & final_generator_a, nano::local_vote_history & history_a, nano::ledger & ledger_a, nano::wallets & wallets_a, nano::vote_router & vote_router_a) :
|
||||
config{ config_a },
|
||||
network_constants{ node_a.network_params.network },
|
||||
stats (stats_a),
|
||||
local_votes (history_a),
|
||||
ledger (ledger_a),
|
||||
wallets (wallets_a),
|
||||
vote_router{ vote_router_a },
|
||||
generator (generator_a),
|
||||
final_generator (final_generator_a)
|
||||
final_generator (final_generator_a),
|
||||
stats (node_a.stats),
|
||||
logger (node_a.logger)
|
||||
{
|
||||
queue.max_size_query = [this] (auto const & origin) {
|
||||
return config.max_queue;
|
||||
|
|
@ -238,15 +239,28 @@ auto nano::request_aggregator::aggregate (nano::secure::transaction const & tran
|
|||
{
|
||||
to_generate_final.push_back (block);
|
||||
stats.inc (nano::stat::type::requests, nano::stat::detail::requests_final);
|
||||
|
||||
logger.debug (nano::log::type::request_aggregator, "Replying with final vote for: {} to: {}",
|
||||
block->hash ().to_string (), // TODO: Lazy eval
|
||||
channel_a->to_string ()); // TODO: Lazy eval
|
||||
}
|
||||
else
|
||||
{
|
||||
stats.inc (nano::stat::type::requests, nano::stat::detail::requests_non_final);
|
||||
|
||||
logger.debug (nano::log::type::request_aggregator, "Skipping reply with normal vote for: {} (requested by: {})",
|
||||
block->hash ().to_string (), // TODO: Lazy eval
|
||||
channel_a->to_string ()); // TODO: Lazy eval
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
stats.inc (nano::stat::type::requests, nano::stat::detail::requests_unknown);
|
||||
|
||||
logger.debug (nano::log::type::request_aggregator, "Cannot reply, block not found: {} with root: {} (requested by: {})",
|
||||
hash.to_string (), // TODO: Lazy eval
|
||||
root.to_string (), // TODO: Lazy eval
|
||||
channel_a->to_string ()); // TODO: Lazy eval
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public:
|
|||
class request_aggregator final
|
||||
{
|
||||
public:
|
||||
request_aggregator (request_aggregator_config const &, nano::node &, nano::stats &, nano::vote_generator &, nano::vote_generator &, nano::local_vote_history &, nano::ledger &, nano::wallets &, nano::vote_router &);
|
||||
request_aggregator (request_aggregator_config const &, nano::node &, nano::vote_generator &, nano::vote_generator &, nano::local_vote_history &, nano::ledger &, nano::wallets &, nano::vote_router &);
|
||||
~request_aggregator ();
|
||||
|
||||
void start ();
|
||||
|
|
@ -84,13 +84,14 @@ private:
|
|||
private: // Dependencies
|
||||
request_aggregator_config const & config;
|
||||
nano::network_constants const & network_constants;
|
||||
nano::stats & stats;
|
||||
nano::local_vote_history & local_votes;
|
||||
nano::ledger & ledger;
|
||||
nano::wallets & wallets;
|
||||
nano::vote_router & vote_router;
|
||||
nano::vote_generator & generator;
|
||||
nano::vote_generator & final_generator;
|
||||
nano::stats & stats;
|
||||
nano::logger & logger;
|
||||
|
||||
private:
|
||||
using value_type = std::pair<request_type, std::shared_ptr<nano::transport::channel>>;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue