From af4a64c53238348a900cc02c4a5c1c5cc336845e Mon Sep 17 00:00:00 2001 From: Stefano Bonicatti Date: Wed, 3 Jul 2024 12:23:41 +0200 Subject: [PATCH] Debug scheduler drift --- osquery/dispatcher/scheduler.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/osquery/dispatcher/scheduler.cpp b/osquery/dispatcher/scheduler.cpp index e519218e5dc2..b2424b488b01 100644 --- a/osquery/dispatcher/scheduler.cpp +++ b/osquery/dispatcher/scheduler.cpp @@ -215,13 +215,17 @@ void SchedulerRunner::calculateTimeDriftAndMaybePause( if (loop_step_duration + time_drift_ < interval_) { pause(interval_ - loop_step_duration - time_drift_); time_drift_ = std::chrono::milliseconds::zero(); + std::cout << "SCHEDULE SLEEP" << std::endl; } else { time_drift_ += loop_step_duration - interval_; if (time_drift_ > max_time_drift_) { // giving up time_drift_ = std::chrono::milliseconds::zero(); + std::cout << "TOO MUCH DRIFT" << std::endl; } } + + std::cout << "CURRENT DRIFT: " << time_drift_.count() << std::endl; } void SchedulerRunner::maybeRunDecorators(uint64_t time_step) { @@ -325,8 +329,8 @@ void SchedulerRunner::start() { } } -std::chrono::milliseconds SchedulerRunner::getCurrentTimeDrift() const - noexcept { +std::chrono::milliseconds SchedulerRunner::getCurrentTimeDrift() + const noexcept { return time_drift_; }