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

Reply via email to