ark::pipeline::ExecutionMonitor
Defined in header “ark/pipeline/execution_monitor.hh”.
Simple class that tracks stages that are actively being executed on a thread pool, and warns if they are still executing after some period of time.
Methods
-
ExecutionMonitor(std::string action_name)
Constructor. -
ExecutionMonitor(const ExecutionMonitor & other)
Disable copy operations. -
ExecutionMonitor & operator=(const ExecutionMonitor & other)
-
void mark_executing(std::string name)
Queues the given name (marks it as executing). -
void mark_clear(const std::string & name)
Marks that the given name is no longer executing. -
void wait(concurrency::ThreadPool & pool, std::chrono::nanoseconds print_interval)
Waits for the thread pool to complete all work. Prints a message every so often if something is delaying.