Thrill
0.1
|
#include <iostats.hpp>
Classes | |
class | scoped_wait_timer |
Public Types | |
enum | wait_op_type { WAIT_OP_ANY, WAIT_OP_READ, WAIT_OP_WRITE } |
Public Types inherited from singleton< stats > | |
using | instance_pointer = instance_type * |
using | instance_type = stats |
using | volatile_instance_pointer = volatile instance_pointer |
Public Member Functions | |
file_stats * | create_file_stats (unsigned device_id) |
std::vector< file_stats_data > | deepcopy_file_stats_data_list () const |
return list of file's stats data (deeply copied from each file_stats) More... | |
double | get_creation_time () const |
double | get_io_wait_time () const |
double | get_pio_time () const |
double | get_pread_time () const |
double | get_pwrite_time () const |
double | get_wait_read_time () const |
double | get_wait_write_time () const |
void | wait_finished (wait_op_type wait_op_) |
void | wait_started (wait_op_type wait_op_) |
Public Member Functions inherited from singleton< stats > | |
singleton ()=default | |
singleton (const singleton &)=delete | |
non-copyable: delete copy-constructor More... | |
singleton & | operator= (const singleton &)=delete |
non-copyable: delete assignment operator More... | |
Private Member Functions | |
stats () | |
private construction from singleton More... | |
void | p_read_finished (double now) |
void | p_read_started (double now) |
void | p_write_finished (double now) |
void | p_write_started (double now) |
Private Attributes | |
int | acc_ios_ |
int | acc_reads_ |
int | acc_wait_read_ |
int | acc_wait_write_ |
int | acc_waits_ |
int | acc_writes_ |
const double | creation_time_ |
std::list< file_stats > | file_stats_list_ |
std::mutex | io_mutex_ |
std::mutex | list_mutex_ |
double | p_begin_io_ |
double | p_begin_read_ |
start time of parallel operation More... | |
double | p_begin_wait_ |
double | p_begin_wait_read_ |
double | p_begin_wait_write_ |
double | p_begin_write_ |
double | p_ios_ |
double | p_reads_ |
seconds spent in parallel operations More... | |
double | p_wait_read_ |
double | p_wait_write_ |
double | p_waits_ |
double | p_writes_ |
std::mutex | read_mutex_ |
double | t_wait_read_ |
double | t_wait_write_ |
double | t_waits_ |
std::mutex | wait_mutex_ |
std::mutex | write_mutex_ |
Friends | |
std::ostream & | operator<< (std::ostream &o, const stats &s) |
Additional Inherited Members | |
Static Public Member Functions inherited from singleton< stats > | |
static instance_pointer | create_instance () |
create instance of SubInstanceType and move into singleton More... | |
static void | destroy_instance () |
destroy singleton and mark as invalid More... | |
static instance_pointer | get_instance () |
return instance or create base instance if empty More... | |
static instance_type & | get_ref () |
enum wait_op_type |
Enumerator | |
---|---|
WAIT_OP_ANY | |
WAIT_OP_READ | |
WAIT_OP_WRITE |
Definition at line 364 of file iostats.hpp.
|
private |
private construction from singleton
Definition at line 196 of file iostats.cpp.
file_stats * create_file_stats | ( | unsigned | device_id | ) |
create new instance of a file_stats for an io::file to collect statistics. (for internal library use.)
Definition at line 351 of file iostats.cpp.
References stats::file_stats_list_, and stats::list_mutex_.
std::vector< file_stats_data > deepcopy_file_stats_data_list | ( | ) | const |
return list of file's stats data (deeply copied from each file_stats)
Definition at line 367 of file iostats.cpp.
References stats::file_stats_list_, and stats::list_mutex_.
|
inline |
Definition at line 417 of file iostats.hpp.
|
inline |
I/O wait time counter.
wait_any
and wait_all
Definition at line 429 of file iostats.hpp.
Referenced by stats_data::to_ostream().
|
inline |
Period of time when at least one I/O thread was executing a read or a write.
Definition at line 460 of file iostats.hpp.
References foxxll::operator<<(), stats::wait_finished(), and stats::wait_started().
Referenced by stats_data::to_ostream().
|
inline |
Period of time when at least one I/O thread was executing a read.
Definition at line 446 of file iostats.hpp.
Referenced by stats_data::to_ostream().
|
inline |
Period of time when at least one I/O thread was executing a write.
Definition at line 453 of file iostats.hpp.
Referenced by stats_data::to_ostream().
|
inline |
Definition at line 434 of file iostats.hpp.
Referenced by stats_data::to_ostream().
|
inline |
Definition at line 439 of file iostats.hpp.
Referenced by stats_data::to_ostream().
|
private |
Definition at line 333 of file iostats.cpp.
References stats::acc_ios_, stats::acc_reads_, stats::io_mutex_, stats::p_begin_io_, stats::p_begin_read_, stats::p_ios_, stats::p_reads_, and stats::read_mutex_.
Referenced by file_stats::read_finished().
|
private |
Definition at line 315 of file iostats.cpp.
References stats::acc_ios_, stats::acc_reads_, stats::io_mutex_, stats::p_begin_io_, stats::p_begin_read_, stats::p_ios_, stats::p_reads_, and stats::read_mutex_.
Referenced by file_stats::read_started().
|
private |
Definition at line 297 of file iostats.cpp.
References stats::acc_ios_, stats::acc_writes_, stats::io_mutex_, stats::p_begin_io_, stats::p_begin_write_, stats::p_ios_, stats::p_writes_, and stats::write_mutex_.
Referenced by file_stats::write_finished().
|
private |
Definition at line 279 of file iostats.cpp.
References stats::acc_ios_, stats::acc_writes_, stats::io_mutex_, stats::p_begin_io_, stats::p_begin_write_, stats::p_ios_, stats::p_writes_, and stats::write_mutex_.
Referenced by file_stats::write_started().
void wait_finished | ( | wait_op_type | wait_op_ | ) |
Definition at line 244 of file iostats.cpp.
References stats::acc_wait_read_, stats::acc_wait_write_, stats::acc_waits_, stats::p_begin_wait_, stats::p_begin_wait_read_, stats::p_begin_wait_write_, stats::p_wait_read_, stats::p_wait_write_, stats::p_waits_, stats::t_wait_read_, stats::t_wait_write_, stats::t_waits_, foxxll::timestamp(), TLX_LOG1, stats::wait_mutex_, and stats::WAIT_OP_READ.
Referenced by stats::get_pio_time(), and stats::scoped_wait_timer::stop().
void wait_started | ( | wait_op_type | wait_op_ | ) |
Definition at line 217 of file iostats.cpp.
References stats::acc_wait_read_, stats::acc_wait_write_, stats::acc_waits_, stats::p_begin_wait_, stats::p_begin_wait_read_, stats::p_begin_wait_write_, stats::p_wait_read_, stats::p_wait_write_, stats::p_waits_, stats::t_wait_read_, stats::t_wait_write_, stats::t_waits_, foxxll::timestamp(), stats::wait_mutex_, and stats::WAIT_OP_READ.
Referenced by stats::get_pio_time(), and stats::scoped_wait_timer::start().
|
friend |
Definition at line 375 of file iostats.cpp.
|
private |
Definition at line 344 of file iostats.hpp.
Referenced by stats::p_read_finished(), stats::p_read_started(), stats::p_write_finished(), and stats::p_write_started().
|
private |
Definition at line 343 of file iostats.hpp.
Referenced by stats::p_read_finished(), and stats::p_read_started().
|
private |
Definition at line 356 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 356 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 355 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 343 of file iostats.hpp.
Referenced by stats::p_write_finished(), and stats::p_write_started().
|
private |
Definition at line 324 of file iostats.hpp.
|
private |
need std::list here, because the io::file objects keep a pointer to the enclosed file_stats objects and this list may grow.
Definition at line 328 of file iostats.hpp.
Referenced by stats::create_file_stats(), and stats::deepcopy_file_stats_data_list().
|
private |
Definition at line 358 of file iostats.hpp.
Referenced by stats::p_read_finished(), stats::p_read_started(), stats::p_write_finished(), and stats::p_write_started().
|
mutableprivate |
Definition at line 330 of file iostats.hpp.
Referenced by stats::create_file_stats(), and stats::deepcopy_file_stats_data_list().
|
private |
Definition at line 340 of file iostats.hpp.
Referenced by stats::p_read_finished(), stats::p_read_started(), stats::p_write_finished(), and stats::p_write_started().
|
private |
start time of parallel operation
Definition at line 337 of file iostats.hpp.
Referenced by stats::p_read_finished(), and stats::p_read_started().
|
private |
Definition at line 350 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 352 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 354 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 337 of file iostats.hpp.
Referenced by stats::p_write_finished(), and stats::p_write_started().
|
private |
Definition at line 339 of file iostats.hpp.
Referenced by stats_data::get_pio_speed_summary(), stats_data::get_pio_time(), stats_data::operator+(), stats_data::operator-(), stats::p_read_finished(), stats::p_read_started(), stats::p_write_finished(), and stats::p_write_started().
|
private |
seconds spent in parallel operations
Definition at line 335 of file iostats.hpp.
Referenced by stats_data::get_pread_speed_summary(), stats_data::get_pread_time(), stats_data::operator+(), stats_data::operator-(), stats::p_read_finished(), and stats::p_read_started().
|
private |
Definition at line 351 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 353 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 349 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 335 of file iostats.hpp.
Referenced by stats_data::get_pwrite_speed_summary(), stats_data::get_pwrite_time(), stats_data::operator+(), stats_data::operator-(), stats::p_write_finished(), and stats::p_write_started().
|
private |
Definition at line 358 of file iostats.hpp.
Referenced by stats::p_read_finished(), and stats::p_read_started().
|
private |
Definition at line 351 of file iostats.hpp.
Referenced by stats_data::get_wait_read_time(), stats_data::operator+(), stats_data::operator-(), stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 353 of file iostats.hpp.
Referenced by stats_data::get_wait_write_time(), stats_data::operator+(), stats_data::operator-(), stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 349 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 358 of file iostats.hpp.
Referenced by stats::wait_finished(), and stats::wait_started().
|
private |
Definition at line 358 of file iostats.hpp.
Referenced by stats::p_write_finished(), and stats::p_write_started().