diff --git a/telegram-bot-api/Stats.cpp b/telegram-bot-api/Stats.cpp index 5c76e7f..350caf1 100644 --- a/telegram-bot-api/Stats.cpp +++ b/telegram-bot-api/Stats.cpp @@ -151,13 +151,18 @@ td::string BotStatActor::get_description() const { double BotStatActor::get_score(double now) { auto minute_stat = stat_[2].stat_duration(now); - double result = minute_stat.first.request_count_ + minute_stat.first.update_count_; + double minute_score = minute_stat.first.request_count_ + minute_stat.first.update_count_; if (minute_stat.second != 0) { - result /= minute_stat.second; + minute_score /= minute_stat.second; } - result += td::max(static_cast(get_active_request_count() - 10), static_cast(0)); - result += static_cast(get_active_file_upload_bytes()) * 1e-8; - return result; + auto all_time_stat = stat_[0].stat_duration(now); + double all_time_score = 0.01 * (all_time_stat.first.request_count_ + all_time_stat.first.update_count_); + if (all_time_stat.second != 0) { + all_time_score /= all_time_stat.second; + } + auto active_request_score = static_cast(td::max(get_active_request_count() - 10, static_cast(0))); + auto active_file_upload_score = static_cast(get_active_file_upload_bytes()) * 1e-8; + return minute_score + all_time_score + active_request_score + active_file_upload_score; } double BotStatActor::get_minute_update_count(double now) {