# ACE_Throughput_Stats Class Reference

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

`#include <Stats.h>`

Inheritance diagram for ACE_Throughput_Stats:

[legend]
Collaboration diagram for ACE_Throughput_Stats:

[legend]
List of all members.

## Public Member Functions

| ACE_Throughput_Stats (void)
| Constructor.
void | sample (ACE_UINT64 throughput, ACE_UINT64 latency)
| Store one sample.
void | accumulate (const ACE_Throughput_Stats &throughput)
| Update the values to reflect the stats in throughput.
void | dump_results (const ACE_TCHAR *msg, ACE_UINT32 scale_factor)
| Print down the stats.

## Static Public Member Functions

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

## Private Attributes

ACE_UINT64 | throughput_last_
| The last throughput measurement.

## 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_UINT32 | scale_factor
| ) |

| Print down the stats.

void ACE_Throughput_Stats::dump_throughput | ( | const ACE_TCHAR * | msg,
|  | ACE_UINT32 | scale_factor,
|  | 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:

- Stats.h
- Stats.cpp