class
#include <taskflow/core/observer.hpp>
ObserverInterface class to derive an executor observer
The tf::
Please refer to tf::
Example usage:
struct MyObserver : public tf::ObserverInterface { MyObserver(const std::string& name) { std::cout << "constructing observer " << name << '\n'; } void set_up(size_t num_workers) override final { std::cout << "setting up observer with " << num_workers << " workers\n"; } void on_entry(WorkerView w, tf::TaskView tv) override final { std::ostringstream oss; oss << "worker " << w.id() << " ready to run " << tv.name() << '\n'; std::cout << oss.str(); } void on_exit(WorkerView w, tf::TaskView tv) override final { std::ostringstream oss; oss << "worker " << w.id() << " finished running " << tv.name() << '\n'; std::cout << oss.str(); } }; tf::Taskflow taskflow; tf::Executor executor; // insert tasks into taskflow // ... // create a custom observer std::shared_ptr<MyObserver> observer = executor.make_observer<MyObserver>("MyObserver"); // run the taskflow executor.run(taskflow).wait();
Derived classes
- class ChromeObserver
- class to create an observer based on Chrome tracing format
- class TFProfObserver
- class to create an observer based on the built-in taskflow profiler format
Constructors, destructors, conversion operators
- ~ObserverInterface() defaulted virtual
- virtual destructor
Public functions
- void set_up(size_t num_workers) pure virtual
- constructor-like method to call when the executor observer is fully created
- void on_entry(WorkerView wv, TaskView task_view) pure virtual
- method to call before a worker thread executes a closure
- void on_exit(WorkerView wv, TaskView task_view) pure virtual
- method to call after a worker thread executed a closure
Function documentation
void tf:: ObserverInterface:: set_up(size_t num_workers) pure virtual
constructor-like method to call when the executor observer is fully created
Parameters | |
---|---|
num_workers | the number of the worker threads in the executor |
void tf:: ObserverInterface:: on_entry(WorkerView wv,
TaskView task_view) pure virtual
method to call before a worker thread executes a closure
Parameters | |
---|---|
wv | an immutable view of this worker thread |
task_view | a constant wrapper object to the task |
void tf:: ObserverInterface:: on_exit(WorkerView wv,
TaskView task_view) pure virtual
method to call after a worker thread executed a closure
Parameters | |
---|---|
wv | an immutable view of this worker thread |
task_view | a constant wrapper object to the task |