ACE  6.2.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
ACE_Throughput_Stats Class Reference

A simple class to make throughput and latency analysis. More...

#include <Throughput_Stats.h>

Inheritance diagram for ACE_Throughput_Stats:
Inheritance graph
[legend]
Collaboration diagram for ACE_Throughput_Stats:
Collaboration graph
[legend]

Public Member Functions

 ACE_Throughput_Stats (void)
 Constructor. More...
 
void sample (ACE_UINT64 throughput, ACE_UINT64 latency)
 Store one sample. More...
 
void accumulate (const ACE_Throughput_Stats &throughput)
 Update the values to reflect the stats in throughput. More...
 
void dump_results (const ACE_TCHAR *msg, scale_factor_type scale_factor)
 Print down the stats. More...
 
- Public Member Functions inherited from ACE_Basic_Stats
 ACE_Basic_Stats (void)
 Constructor. More...
 
ACE_UINT32 samples_count (void) const
 The number of samples received so far. More...
 
void sample (ACE_UINT64 value)
 Record one sample. More...
 
void accumulate (const ACE_Basic_Stats &rhs)
 Update the values to reflect the stats in rhs. More...
 
void dump_results (const ACE_TCHAR *msg, scale_factor_type scale_factor) const
 Dump all the samples. More...
 

Static Public Member Functions

static void dump_throughput (const ACE_TCHAR *msg, scale_factor_type scale_factor, ACE_UINT64 elapsed_time, ACE_UINT32 samples_count)
 Dump the average throughput stats. More...
 

Private Attributes

ACE_UINT64 throughput_last_
 The last throughput measurement. More...
 

Additional Inherited Members

- Public Types inherited from ACE_Basic_Stats
typedef ACE_UINT64 scale_factor_type
 
- Public Attributes inherited from ACE_Basic_Stats
ACE_UINT32 samples_count_
 The number of samples. More...
 
ACE_UINT64 min_
 The minimum value. More...
 
ACE_UINT32 min_at_
 The number of the sample that had the minimum value. More...
 
ACE_UINT64 max_
 The maximum value. More...
 
ACE_UINT32 max_at_
 The number of the sample that had the maximum value. More...
 
ACE_UINT64 sum_
 The sum of all the values. More...
 

Detailed Description

A simple class to make throughput and latency analysis.

Keep the relevant information to perform throughput and latency analysis, including:

  1. Minimum, Average and Maximum latency
  2. Jitter for the latency
  3. Linear regression for throughput
  4. Accumulate results from several samples to obtain aggregated results, across several threads or experiments.
Todo:
The idea behind this class was to use linear regression to determine if the throughput was linear or exhibited jitter. Unfortunately it never worked quite right, so only average throughput is computed.

Constructor & Destructor Documentation

ACE_Throughput_Stats::ACE_Throughput_Stats ( void  )

Constructor.

Member Function Documentation

void ACE_Throughput_Stats::accumulate ( const ACE_Throughput_Stats throughput)

Update the values to reflect the stats in throughput.

void ACE_Throughput_Stats::dump_results ( const ACE_TCHAR msg,
ACE_Basic_Stats::scale_factor_type  sf 
)

Print down the stats.

void ACE_Throughput_Stats::dump_throughput ( const ACE_TCHAR msg,
ACE_Basic_Stats::scale_factor_type  sf,
ACE_UINT64  elapsed_time,
ACE_UINT32  samples_count 
)
static

Dump the average throughput stats.

void ACE_Throughput_Stats::sample ( ACE_UINT64  throughput,
ACE_UINT64  latency 
)

Store one sample.

Member Data Documentation

ACE_UINT64 ACE_Throughput_Stats::throughput_last_
private

The last throughput measurement.


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