C++ Actor Framework 0.19
|
A coordinator which keeps fine-grained profiling state about its workers and their jobs. More...
#include <profiled_coordinator.hpp>
Public Types | |
using | super = coordinator< Policy > |
using | clock_type = std::chrono::high_resolution_clock |
using | usec = std::chrono::microseconds |
using | msec = std::chrono::milliseconds |
![]() | |
using | super = abstract_coordinator |
using | policy_data = typename Policy::coordinator_data |
using | worker_type = worker< Policy > |
![]() | |
enum | utility_actor_id : size_t { printer_id , max_id } |
![]() | |
enum | id_t { scheduler , middleman , openssl_manager , network_manager , num_ids } |
Public Member Functions | |
profiled_coordinator (actor_system &sys) | |
void | init (actor_system_config &cfg) override |
Allows the module to change the configuration of the actor system during startup. | |
void | start () override |
Starts any background threads needed by the module. | |
void | stop () override |
Stops all background threads of the module. | |
void | start_measuring (size_t worker, actor_id job) |
void | stop_measuring (size_t worker, actor_id job) |
void | remove_job (actor_id job) |
template<class Time , class Label > | |
void | record (Time t, Label label, size_t rec_id, const measurement &m) |
void | report (const actor_id &job, const measurement &m) |
![]() | |
coordinator (actor_system &sys) | |
worker_type * | worker_by_id (size_t x) |
policy_data & | data () |
![]() | |
abstract_coordinator (actor_system &sys) | |
actor | printer () const |
Returns a handle to the central printing actor. | |
virtual detail::actor_local_printer_ptr | printer_for (local_actor *self) |
size_t | num_utility_actors () const |
Returns the number of utility actors. | |
virtual void | enqueue (resumable *what)=0 |
Puts what into the queue of a randomly chosen worker. | |
actor_system & | system () |
const actor_system_config & | config () const |
size_t | max_throughput () const |
size_t | num_workers () const |
virtual bool | detaches_utility_actors () const |
Returns true if this scheduler detaches its utility actors. | |
void | start () override |
Starts any background threads needed by the module. | |
void | init (actor_system_config &cfg) override |
Allows the module to change the configuration of the actor system during startup. | |
id_t | id () const override |
Returns the identifier of this module. | |
void * | subtype_ptr () override |
Returns a pointer to the subtype. | |
virtual actor_clock & | clock () noexcept=0 |
![]() | |
const char * | name () const noexcept |
Returns the human-readable name of the module. | |
virtual void | start ()=0 |
Starts any background threads needed by the module. | |
virtual void | stop ()=0 |
Stops all background threads of the module. | |
virtual void | init (actor_system_config &)=0 |
Allows the module to change the configuration of the actor system during startup. | |
virtual id_t | id () const =0 |
Returns the identifier of this module. | |
virtual void * | subtype_ptr ()=0 |
Returns a pointer to the subtype. | |
Additional Inherited Members | |
![]() | |
static actor_system::module * | make (actor_system &sys, detail::type_list<>) |
![]() | |
static void | cleanup_and_release (resumable *) |
static size_t | default_thread_count () noexcept |
![]() | |
void | start () override |
Starts any background threads needed by the module. | |
void | stop () override |
Stops all background threads of the module. | |
void | enqueue (resumable *ptr) override |
Puts what into the queue of a randomly chosen worker. | |
detail::thread_safe_actor_clock & | clock () noexcept override |
![]() | |
void | stop_actors () |
![]() | |
std::atomic< size_t > | next_worker_ |
ID of the worker receiving the next enqueue (round-robin dispatch). | |
size_t | max_throughput_ |
Number of messages each actor is allowed to consume per resume. | |
size_t | num_workers_ |
Configured number of workers. | |
std::array< actor, max_id > | utility_actors_ |
Background workers, e.g., printer. | |
actor_system & | system_ |
Reference to the host system. | |
A coordinator which keeps fine-grained profiling state about its workers and their jobs.
|
overridevirtual |
Allows the module to change the configuration of the actor system during startup.
Reimplemented from caf::scheduler::abstract_coordinator.
|
overridevirtual |
Starts any background threads needed by the module.
Reimplemented from caf::scheduler::coordinator< Policy >.
|
overridevirtual |
Stops all background threads of the module.
Reimplemented from caf::scheduler::coordinator< Policy >.