diff --git a/src/init.cpp b/src/init.cpp index 0127fa3b452..9e9cb5d732f 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1387,7 +1387,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info) LogInstance().SetRateLimiting(std::make_unique( [&scheduler](auto func, auto window) { scheduler.scheduleEvery(std::move(func), window); }, BCLog::RATELIMIT_MAX_BYTES, - 1h)); + BCLog::RATELIMIT_WINDOW)); assert(!node.validation_signals); node.validation_signals = std::make_unique(std::make_unique(scheduler)); diff --git a/src/logging.h b/src/logging.h index c753172545c..106de1f8d30 100644 --- a/src/logging.h +++ b/src/logging.h @@ -104,7 +104,8 @@ namespace BCLog { }; constexpr auto DEFAULT_LOG_LEVEL{Level::Debug}; constexpr size_t DEFAULT_MAX_LOG_BUFFER{1'000'000}; // buffer up to 1MB of log data prior to StartLogging - constexpr uint64_t RATELIMIT_MAX_BYTES{1024 * 1024}; // maximum number of bytes that can be logged within one window + constexpr uint64_t RATELIMIT_MAX_BYTES{1024 * 1024}; // maximum number of bytes per source location that can be logged within the RATELIMIT_WINDOW + constexpr auto RATELIMIT_WINDOW{1h}; // time window after which log ratelimit stats are reset //! Keeps track of an individual source location and how many available bytes are left for logging from it. class LogLimitStats