mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Merge branch 'session-stats-patch' into accelerator
This commit is contained in:
commit
5080cdffdd
23 changed files with 385 additions and 32 deletions
|
@ -39,6 +39,7 @@
|
|||
#include <map>
|
||||
#include <set>
|
||||
#include <list>
|
||||
#include <queue>
|
||||
|
||||
namespace ton {
|
||||
|
||||
|
@ -278,7 +279,7 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
BlockSeqno last_key_block_seqno,
|
||||
const validatorsession::ValidatorSessionOptions &opts);
|
||||
td::actor::ActorOwn<ValidatorGroup> create_validator_group(ValidatorSessionId session_id, ShardIdFull shard,
|
||||
td::Ref<ValidatorSet> validator_set,
|
||||
td::Ref<ValidatorSet> validator_set, BlockSeqno key_seqno,
|
||||
validatorsession::ValidatorSessionOptions opts,
|
||||
bool create_catchain);
|
||||
struct ValidatorGroupEntry {
|
||||
|
@ -619,6 +620,7 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
|
||||
void log_validator_session_stats(BlockIdExt block_id, validatorsession::ValidatorSessionStats stats) override;
|
||||
void log_new_validator_group_stats(validatorsession::NewValidatorGroupStats stats) override;
|
||||
void log_end_validator_group_stats(validatorsession::EndValidatorGroupStats stats) override;
|
||||
|
||||
void update_options(td::Ref<ValidatorManagerOptions> opts) override;
|
||||
|
||||
|
@ -756,6 +758,21 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
|
||||
td::actor::ActorOwn<CandidatesBuffer> candidates_buffer_;
|
||||
|
||||
struct RecordedBlockStats {
|
||||
double collator_work_time_ = -1.0;
|
||||
double collator_cpu_work_time_ = -1.0;
|
||||
td::optional<CollationStats> collator_stats_;
|
||||
double validator_work_time_ = -1.0;
|
||||
double validator_cpu_work_time_ = -1.0;
|
||||
};
|
||||
std::map<BlockIdExt, RecordedBlockStats> recorded_block_stats_;
|
||||
std::queue<BlockIdExt> recorded_block_stats_lru_;
|
||||
|
||||
void record_collate_query_stats(BlockIdExt block_id, double work_time, double cpu_work_time,
|
||||
CollationStats stats) override;
|
||||
void record_validate_query_stats(BlockIdExt block_id, double work_time, double cpu_work_time) override;
|
||||
RecordedBlockStats &new_block_stats_record(BlockIdExt block_id);
|
||||
|
||||
struct Collator {
|
||||
td::actor::ActorOwn<CollatorNode> actor;
|
||||
std::set<ShardIdFull> shards;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue