Stxxl  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
stxxl::stats Class Reference

Collects various I/O statistics. More...

#include <iostats.h>

Collaboration diagram for stxxl::stats:
Collaboration graph
[legend]

List of all members.

Classes

class  scoped_read_timer
class  scoped_read_write_timer
class  scoped_wait_timer
class  scoped_write_timer

Public Types

enum  wait_op_type { WAIT_OP_ANY, WAIT_OP_READ, WAIT_OP_WRITE }

Public Member Functions

unsigned get_reads () const
 Returns total number of reads.
unsigned get_writes () const
 Returns total number of writes.
int64 get_read_volume () const
 Returns number of bytes read from disks.
int64 get_written_volume () const
 Returns number of bytes written to the disks.
unsigned get_cached_reads () const
 Returns total number of reads served from cache.
unsigned get_cached_writes () const
 Returns total number of cached writes.
int64 get_cached_read_volume () const
 Returns number of bytes read from cache.
int64 get_cached_written_volume () const
 Returns number of bytes written to the cache.
double get_read_time () const
 Time that would be spent in read syscalls if all parallel reads were serialized.
double get_write_time () const
 Time that would be spent in write syscalls if all parallel writes were serialized.
double get_pread_time () const
 Period of time when at least one I/O thread was executing a read.
double get_pwrite_time () const
 Period of time when at least one I/O thread was executing a write.
double get_pio_time () const
 Period of time when at least one I/O thread was executing a read or a write.
double get_io_wait_time () const
 I/O wait time counter.
double get_wait_read_time () const
double get_wait_write_time () const
double get_last_reset_time () const
 Return time of the last reset.
 _STXXL_DEPRECATED (void reset())
 Resets I/O time counters (including I/O wait counter)
 _STXXL_DEPRECATED (void _reset_io_wait_time())
 Resets I/O wait time counter.
void write_started (unsigned_type size_, double now=0.0)
void write_canceled (unsigned_type size_)
void write_finished ()
void write_cached (unsigned_type size_)
void read_started (unsigned_type size_, double now=0.0)
void read_canceled (unsigned_type size_)
void read_finished ()
void read_cached (unsigned_type size_)
void wait_started (wait_op_type wait_op)
void wait_finished (wait_op_type wait_op)

Private Member Functions

 stats ()

Private Attributes

unsigned reads
unsigned writes
int64 volume_read
int64 volume_written
unsigned c_reads
unsigned c_writes
int64 c_volume_read
int64 c_volume_written
double t_reads
double t_writes
double p_reads
double p_writes
double p_begin_read
double p_begin_write
double p_ios
double p_begin_io
double t_waits
double p_waits
double p_begin_wait
double t_wait_read
double p_wait_read
double p_begin_wait_read
double t_wait_write
double p_wait_write
double p_begin_wait_write
int acc_reads
int acc_writes
int acc_ios
int acc_waits
int acc_wait_read
int acc_wait_write
double last_reset
mutex read_mutex
mutex write_mutex
mutex io_mutex
mutex wait_mutex

Detailed Description

Collects various I/O statistics.

Remarks:
is a singleton
Examples:
containers/berkeley_db_benchmark.cpp, and stream/test_stream.cpp.

Definition at line 43 of file iostats.h.


Member Enumeration Documentation

Enumerator:
WAIT_OP_ANY 
WAIT_OP_READ 
WAIT_OP_WRITE 

Definition at line 72 of file iostats.h.


Constructor & Destructor Documentation

stxxl::stats::stats ( ) [private]

Definition at line 25 of file iostats.cpp.


Member Function Documentation

stxxl::stats::_STXXL_DEPRECATED ( void   reset())

Resets I/O time counters (including I/O wait counter)

stxxl::stats::_STXXL_DEPRECATED ( void   _reset_io_wait_time())

Resets I/O wait time counter.

Returns number of bytes read from cache.

Returns:
number of bytes read from cache

Definition at line 309 of file iostats.h.

unsigned stxxl::stats::get_cached_reads ( ) const [inline]

Returns total number of reads served from cache.

Returns:
total number of cached reads

Definition at line 295 of file iostats.h.

unsigned stxxl::stats::get_cached_writes ( ) const [inline]

Returns total number of cached writes.

Returns:
total number of cached writes

Definition at line 302 of file iostats.h.

Returns number of bytes written to the cache.

Returns:
number of bytes written to cache

Definition at line 316 of file iostats.h.

double stxxl::stats::get_io_wait_time ( ) const [inline]

I/O wait time counter.

Returns:
number of seconds spent in I/O waiting functions request::wait , wait_any and wait_all

Definition at line 361 of file iostats.h.

double stxxl::stats::get_last_reset_time ( ) const [inline]

Return time of the last reset.

Returns:
seconds passed from the last reset()

Definition at line 378 of file iostats.h.

double stxxl::stats::get_pio_time ( ) const [inline]

Period of time when at least one I/O thread was executing a read or a write.

Returns:
seconds spent in I/O

Definition at line 351 of file iostats.h.

double stxxl::stats::get_pread_time ( ) const [inline]

Period of time when at least one I/O thread was executing a read.

Returns:
seconds spent in reading

Definition at line 337 of file iostats.h.

double stxxl::stats::get_pwrite_time ( ) const [inline]

Period of time when at least one I/O thread was executing a write.

Returns:
seconds spent in writing

Definition at line 344 of file iostats.h.

double stxxl::stats::get_read_time ( ) const [inline]

Time that would be spent in read syscalls if all parallel reads were serialized.

Returns:
seconds spent in reading

Definition at line 323 of file iostats.h.

Returns number of bytes read from disks.

Returns:
number of bytes read

Definition at line 281 of file iostats.h.

unsigned stxxl::stats::get_reads ( ) const [inline]

Returns total number of reads.

Returns:
total number of reads

Definition at line 267 of file iostats.h.

double stxxl::stats::get_wait_read_time ( ) const [inline]

Definition at line 366 of file iostats.h.

double stxxl::stats::get_wait_write_time ( ) const [inline]

Definition at line 371 of file iostats.h.

double stxxl::stats::get_write_time ( ) const [inline]

Time that would be spent in write syscalls if all parallel writes were serialized.

Returns:
seconds spent in writing

Definition at line 330 of file iostats.h.

unsigned stxxl::stats::get_writes ( ) const [inline]

Returns total number of writes.

Returns:
total number of writes

Definition at line 274 of file iostats.h.

Returns number of bytes written to the disks.

Returns:
number of bytes written

Definition at line 288 of file iostats.h.

void stxxl::stats::read_started ( unsigned_type  size_,
double  now = 0.0 
)
void stxxl::stats::write_started ( unsigned_type  size_,
double  now = 0.0 
)

Member Data Documentation

int stxxl::stats::acc_ios [private]

Definition at line 63 of file iostats.h.

int stxxl::stats::acc_reads [private]

Definition at line 62 of file iostats.h.

Definition at line 65 of file iostats.h.

Referenced by wait_finished(), and wait_started().

Definition at line 65 of file iostats.h.

Referenced by wait_finished(), and wait_started().

int stxxl::stats::acc_waits [private]

Definition at line 64 of file iostats.h.

Referenced by wait_finished(), and wait_started().

int stxxl::stats::acc_writes [private]

Definition at line 62 of file iostats.h.

unsigned stxxl::stats::c_reads [private]

Definition at line 49 of file iostats.h.

Definition at line 50 of file iostats.h.

Definition at line 50 of file iostats.h.

unsigned stxxl::stats::c_writes [private]

Definition at line 49 of file iostats.h.

Definition at line 67 of file iostats.h.

double stxxl::stats::last_reset [private]

Definition at line 66 of file iostats.h.

Referenced by wait_finished().

double stxxl::stats::p_begin_io [private]

Definition at line 55 of file iostats.h.

double stxxl::stats::p_begin_read [private]

Definition at line 53 of file iostats.h.

double stxxl::stats::p_begin_wait [private]

Definition at line 57 of file iostats.h.

Referenced by wait_finished(), and wait_started().

Definition at line 59 of file iostats.h.

Referenced by wait_finished(), and wait_started().

Definition at line 61 of file iostats.h.

Referenced by wait_finished(), and wait_started().

double stxxl::stats::p_begin_write [private]

Definition at line 53 of file iostats.h.

double stxxl::stats::p_ios [private]

Definition at line 54 of file iostats.h.

double stxxl::stats::p_reads [private]

Definition at line 52 of file iostats.h.

double stxxl::stats::p_wait_read [private]

Definition at line 58 of file iostats.h.

Referenced by wait_finished(), and wait_started().

double stxxl::stats::p_wait_write [private]

Definition at line 60 of file iostats.h.

Referenced by wait_finished(), and wait_started().

double stxxl::stats::p_waits [private]

Definition at line 56 of file iostats.h.

Referenced by wait_finished(), and wait_started().

double stxxl::stats::p_writes [private]

Definition at line 52 of file iostats.h.

Definition at line 67 of file iostats.h.

unsigned stxxl::stats::reads [private]

Definition at line 47 of file iostats.h.

double stxxl::stats::t_reads [private]

Definition at line 51 of file iostats.h.

double stxxl::stats::t_wait_read [private]

Definition at line 58 of file iostats.h.

Referenced by wait_finished(), and wait_started().

double stxxl::stats::t_wait_write [private]

Definition at line 60 of file iostats.h.

Referenced by wait_finished(), and wait_started().

double stxxl::stats::t_waits [private]

Definition at line 56 of file iostats.h.

Referenced by wait_finished(), and wait_started().

double stxxl::stats::t_writes [private]

Definition at line 51 of file iostats.h.

Definition at line 48 of file iostats.h.

Definition at line 48 of file iostats.h.

Definition at line 67 of file iostats.h.

Referenced by wait_finished(), and wait_started().

Definition at line 67 of file iostats.h.

unsigned stxxl::stats::writes [private]

Definition at line 47 of file iostats.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines