bakaid commented on a change in pull request #721: MINIFICPP-1135 - Add a
watchdog to schedulingAgent to warn in case of…
URL: https://github.com/apache/nifi-minifi-cpp/pull/721#discussion_r372939836
##########
File path: libminifi/src/SchedulingAgent.cpp
##########
@@ -125,6 +138,17 @@ bool SchedulingAgent::onTrigger(const
std::shared_ptr<core::Processor> &processo
return false;
}
+void SchedulingAgent::watchDogFunc() {
+ std::lock_guard<std::mutex> lock(watchdog_mtx_);
+ auto now = std::chrono::system_clock::now();
+ for (const auto& info : scheduled_processors_) {
+ auto elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(now -
info.start_time_).count();
+ if (elapsed > SCHEDULING_WATCHDOG_ALERT_PERIOD) {
+ logger_->log_warn("%s::onTrigger is running for %zu ms in %s",
info.name_, elapsed, info.uuid_);
Review comment:
It's not mainly about representability, but type correctness. With printf
it's usually not such a big issue, with scanf it is the source of many security
issues, so I like to keep format strings correct.
Also, because the original code cast a signed int to an unsigned one, and
because of its usage of non-monotonic clock which could really result in the
difference being negative, we would have logged pretty interesting values.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services