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.