libcaf  0.16.3
Public Types | Public Member Functions | Public Attributes | List of all members
caf::scheduler::profiled_coordinator< Policy > Class Template Reference

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
 

Public Member Functions

 profiled_coordinator (actor_system &sys)
 
void init (actor_system_config &cfg) override
 
void start () override
 
void stop () override
 
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)
 

Public Attributes

std::mutex job_mtx_
 
std::mutex file_mtx_
 
std::ofstream file_
 
msec resolution_
 
std::chrono::system_clock::time_point system_start_
 
clock_type::duration clock_start_
 
std::vector< worker_state > worker_states_
 
std::unordered_map< actor_id, measurement > jobs_
 
clock_type::duration last_flush_ = clock_type::duration::zero()
 

Detailed Description

template<class Policy = policy::profiled<policy::work_stealing>>
class caf::scheduler::profiled_coordinator< Policy >

A coordinator which keeps fine-grained profiling state about its workers and their jobs.


The documentation for this class was generated from the following files: