TARAXA
Loading...
Searching...
No Matches
node_stats.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <json/value.h>
4
5#include "common/types.hpp"
6#include "config/config.hpp"
7#include "logger/logging.hpp"
9
10namespace taraxa {
11class PbftChain;
12class PbftManager;
13class VoteManager;
14class DagManager;
15class TransactionManager;
16} // namespace taraxa
17
21
23
24class TaraxaPeer;
25class PbftSyncingState;
26class TimePeriodPacketsStats;
27
28class NodeStats {
29 public:
30 NodeStats(std::shared_ptr<PbftSyncingState> pbft_syncing_state, std::shared_ptr<PbftChain> pbft_chain,
31 std::shared_ptr<PbftManager> pbft_mgr, std::shared_ptr<DagManager> dag_mgr,
32 std::shared_ptr<VoteManager> vote_mgr, std::shared_ptr<TransactionManager> trx_mgr,
33 std::shared_ptr<TimePeriodPacketsStats> packets_stats,
34 std::shared_ptr<const threadpool::PacketsThreadPool> thread_pool, const FullNodeConfig& config);
35
36 void logNodeStats(const std::vector<std::shared_ptr<network::tarcap::TaraxaPeer>>& all_peers,
37 const std::vector<std::string>& nodes);
38 uint64_t syncTimeSeconds() const;
39 Json::Value getStatus(
40 std::map<network::tarcap::TarcapVersion, std::shared_ptr<network::tarcap::TaraxaPeer>> peers) const;
41
42 private:
43 std::shared_ptr<PbftSyncingState> pbft_syncing_state_;
44 std::shared_ptr<PbftChain> pbft_chain_;
45 std::shared_ptr<PbftManager> pbft_mgr_;
46 std::shared_ptr<DagManager> dag_mgr_;
47 std::shared_ptr<VoteManager> vote_mgr_;
48 std::shared_ptr<TransactionManager> trx_mgr_;
49 std::shared_ptr<TimePeriodPacketsStats> packets_stats_;
50 std::shared_ptr<const threadpool::PacketsThreadPool> thread_pool_;
51
60
61 // List of node addresses running on this node
62 std::string node_addresses_;
63
65};
66
67} // namespace taraxa::network::tarcap
Definition node_stats.hpp:28
std::shared_ptr< TimePeriodPacketsStats > packets_stats_
Definition node_stats.hpp:49
uint64_t intervals_syncing_since_launch_
Definition node_stats.hpp:57
std::shared_ptr< DagManager > dag_mgr_
Definition node_stats.hpp:46
std::shared_ptr< const threadpool::PacketsThreadPool > thread_pool_
Definition node_stats.hpp:50
uint64_t local_pbft_sync_period_prev_interval_
Definition node_stats.hpp:55
uint64_t local_chain_size_prev_interval_
Definition node_stats.hpp:54
uint64_t local_pbft_round_prev_interval_
Definition node_stats.hpp:53
logger::Logger logger_
Definition node_stats.hpp:64
std::string node_addresses_
Definition node_stats.hpp:62
std::shared_ptr< TransactionManager > trx_mgr_
Definition node_stats.hpp:48
std::shared_ptr< VoteManager > vote_mgr_
Definition node_stats.hpp:47
std::shared_ptr< PbftChain > pbft_chain_
Definition node_stats.hpp:44
Json::Value getStatus(std::map< network::tarcap::TarcapVersion, std::shared_ptr< network::tarcap::TaraxaPeer > > peers) const
Definition node_stats.cpp:236
std::shared_ptr< PbftSyncingState > pbft_syncing_state_
Definition node_stats.hpp:43
uint64_t stalled_syncing_duration_seconds
Definition node_stats.hpp:59
uint64_t syncing_duration_seconds
Definition node_stats.hpp:58
uint64_t syncTimeSeconds() const
Definition node_stats.cpp:36
void logNodeStats(const std::vector< std::shared_ptr< network::tarcap::TaraxaPeer > > &all_peers, const std::vector< std::string > &nodes)
Definition node_stats.cpp:38
level_t local_max_level_in_dag_prev_interval_
Definition node_stats.hpp:52
std::shared_ptr< PbftManager > pbft_mgr_
Definition node_stats.hpp:45
uint64_t intervals_in_sync_since_launch_
Definition node_stats.hpp:56
PacketsThreadPool for concurrent packets processing.
Definition tarcap_thread_pool.hpp:25
std::shared_ptr< spdlog::logger > Logger
Definition logging.hpp:12
Definition vote_manager.hpp:24
unsigned TarcapVersion
Definition tarcap_version.hpp:4
Definition node_stats.hpp:18
Definition app.hpp:16
uint64_t level_t
Definition types.hpp:47
Definition config.hpp:41