1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-03-09 15:40:10 +00:00

Log validator session stats to file

This commit is contained in:
SpyCheese 2022-07-05 17:19:46 +03:00 committed by EmelyanenkoK
parent 17c561c4db
commit b3e6819f3f
17 changed files with 137 additions and 18 deletions

View file

@ -1338,6 +1338,9 @@ td::Status ValidatorEngine::load_global_config() {
if (truncate_seqno_ > 0) {
validator_options_.write().truncate_db(truncate_seqno_);
}
if (!session_logs_file_.empty()) {
validator_options_.write().set_session_logs_file(session_logs_file_);
}
std::vector<ton::BlockIdExt> h;
for (auto &x : conf.validator_->hardforks_) {
@ -3466,7 +3469,11 @@ int main(int argc, char *argv[]) {
#endif
td::set_signal_handler(td::SignalType::HangUp, force_rotate_logs).ensure();
});
std::string session_logs_file;
p.add_option('l', "logname", "log to file", [&](td::Slice fname) {
if (session_logs_file.empty()) {
session_logs_file = fname.str() + ".session-stats";
}
logger_ = td::TsFileLog::create(fname.str()).move_as_ok();
td::log_interface = logger_.get();
});
@ -3503,6 +3510,9 @@ int main(int argc, char *argv[]) {
auto v = td::to_integer<ton::BlockSeqno>(fname);
acts.push_back([&x, v]() { td::actor::send_closure(x, &ValidatorEngine::set_truncate_seqno, v); });
});
p.add_option('\0', "session-logs", "file for validator session stats (default: {logname}.session-stats)",
[&](td::Slice fname) { session_logs_file = fname.str(); });
acts.push_back([&]() { td::actor::send_closure(x, &ValidatorEngine::set_session_logs_file, session_logs_file); });
p.add_checked_option(
'U', "unsafe-catchain-restore", "use SLOW and DANGEROUS catchain recover method", [&](td::Slice id) {
TRY_RESULT(seq, td::to_integer_safe<ton::CatchainSeqno>(id));

View file

@ -201,6 +201,7 @@ class ValidatorEngine : public td::actor::Actor {
bool started_keyring_ = false;
bool started_ = false;
ton::BlockSeqno truncate_seqno_{0};
std::string session_logs_file_;
std::set<ton::CatchainSeqno> unsafe_catchains_;
std::map<ton::BlockSeqno, std::pair<ton::CatchainSeqno, td::uint32>> unsafe_catchain_rotations_;
@ -243,6 +244,9 @@ class ValidatorEngine : public td::actor::Actor {
void set_truncate_seqno(ton::BlockSeqno seqno) {
truncate_seqno_ = seqno;
}
void set_session_logs_file(std::string f) {
session_logs_file_ = std::move(f);
}
void add_ip(td::IPAddress addr) {
addrs_.push_back(addr);
}
@ -250,7 +254,6 @@ class ValidatorEngine : public td::actor::Actor {
keys_[key.compute_short_id()] = key;
}
void start_up() override;
void got_result();
ValidatorEngine() {
}