#include <stats.h>
|
| Stats (const Config *const cfg) |
|
| ~Stats () |
|
void | UpdateStats (size_t frame_id) |
|
void | SaveToFile () |
|
void | PrintSummary () |
| If worker stats collection is enabled, prsize_t a summary of stats. More...
|
|
void | MasterSetTsc (TsType timestamp_type, size_t frame_id) |
|
size_t | MasterGetTsc (TsType timestamp_type, size_t frame_id) const |
|
double | MasterGetMsSince (TsType timestamp_type, size_t frame_id) const |
|
double | MasterGetUsSince (TsType timestamp_type, size_t frame_id) const |
|
double | MasterGetUsFromRef (TsType timestamp_type, size_t frame_id, size_t reference_tsc) const |
|
double | MasterGetDeltaMs (TsType timestamp_type_1, TsType timestamp_type_2, size_t frame_id) const |
|
double | MasterGetDeltaUs (TsType timestamp_type_1, TsType timestamp_type_2, size_t frame_id) const |
|
double | MasterGetDeltaMs (TsType timestamp_type, size_t frame_id_1, size_t frame_id_2) const |
|
double | MasterGetDeltaUs (TsType timestamp_type, size_t frame_id_1, size_t frame_id_2) const |
|
void | PrintPerFrameDone (PrintType print_type, size_t frame_id) const |
|
void | PrintPerSymbolDone (PrintType print_type, size_t frame_id, size_t symbol_id, size_t sub_count) const |
|
void | PrintPerTaskDone (PrintType print_type, size_t frame_id, size_t symbol_id, size_t ant_or_sc_id, size_t task_count) const |
|
DurationStat * | GetDurationStat (DoerType doer_type, size_t thread_id) |
|
DurationStat * | GetDurationStatOld (DoerType doer_type, size_t thread_id) |
|
size_t | LastFrameId () const |
|
Table< size_t > & | FrameStart () |
|
◆ Stats()
Stats::Stats |
( |
const Config *const |
cfg | ) |
|
|
explicit |
◆ ~Stats()
◆ ComputeAvgOverThreads()
void Stats::ComputeAvgOverThreads |
( |
FrameSummary * |
frame_summary, |
|
|
size_t |
thread_num, |
|
|
size_t |
break_down_num |
|
) |
| |
|
staticprivate |
◆ FrameStart()
Table<size_t>& Stats::FrameStart |
( |
| ) |
|
|
inline |
Dimensions = number of packet RX threads x kNumStatsFrames. frame_start[i][j] is the RDTSC timestamp taken by thread i when it starts receiving frame j.
◆ GetDurationStat()
Get the DurationStat object used by thread thread_id for DoerType doer_type
◆ GetDurationStatOld()
The master thread uses a stale copy of DurationStats to compute differences. This gets the DurationStat object for thread thread_id for DoerType doer_type.
◆ GetTotalTaskCount()
size_t Stats::GetTotalTaskCount |
( |
DoerType |
doer_type, |
|
|
size_t |
thread_num |
|
) |
| |
|
private |
◆ LastFrameId()
size_t Stats::LastFrameId |
( |
| ) |
const |
|
inline |
◆ MasterGetDeltaMs() [1/2]
double Stats::MasterGetDeltaMs |
( |
TsType |
timestamp_type, |
|
|
size_t |
frame_id_1, |
|
|
size_t |
frame_id_2 |
|
) |
| const |
|
inline |
From the master, get the microsecond difference between the times that a timestamp type was taken for two frames
◆ MasterGetDeltaMs() [2/2]
double Stats::MasterGetDeltaMs |
( |
TsType |
timestamp_type_1, |
|
|
TsType |
timestamp_type_2, |
|
|
size_t |
frame_id |
|
) |
| const |
|
inline |
From the master, for a frame ID, get the millisecond difference between two timestamp types
◆ MasterGetDeltaUs() [1/2]
double Stats::MasterGetDeltaUs |
( |
TsType |
timestamp_type, |
|
|
size_t |
frame_id_1, |
|
|
size_t |
frame_id_2 |
|
) |
| const |
|
inline |
From the master, get the microsecond difference between the times that a timestamp type was taken for two frames
◆ MasterGetDeltaUs() [2/2]
double Stats::MasterGetDeltaUs |
( |
TsType |
timestamp_type_1, |
|
|
TsType |
timestamp_type_2, |
|
|
size_t |
frame_id |
|
) |
| const |
|
inline |
From the master, for a frame ID, get the microsecond difference between two timestamp types
◆ MasterGetMsSince()
double Stats::MasterGetMsSince |
( |
TsType |
timestamp_type, |
|
|
size_t |
frame_id |
|
) |
| const |
|
inline |
From the master, get the millisecond elapsed since the timestamp of timestamp_type was taken for frame_id
◆ MasterGetTsc()
size_t Stats::MasterGetTsc |
( |
TsType |
timestamp_type, |
|
|
size_t |
frame_id |
|
) |
| const |
|
inline |
From the master, get the RDTSC timestamp for a frame ID and timestamp type
◆ MasterGetUsFromRef()
double Stats::MasterGetUsFromRef |
( |
TsType |
timestamp_type, |
|
|
size_t |
frame_id, |
|
|
size_t |
reference_tsc |
|
) |
| const |
|
inline |
From the master, get the microseconds between when the timestamp of timestamp_type was taken for frame_id, and reference_tsc
◆ MasterGetUsSince()
double Stats::MasterGetUsSince |
( |
TsType |
timestamp_type, |
|
|
size_t |
frame_id |
|
) |
| const |
|
inline |
From the master, get the microseconds elapsed since the timestamp of timestamp_type was taken for frame_id
◆ MasterSetTsc()
void Stats::MasterSetTsc |
( |
TsType |
timestamp_type, |
|
|
size_t |
frame_id |
|
) |
| |
|
inline |
From the master, set the RDTSC timestamp for a frame ID and timestamp type
◆ PopulateSummary()
◆ PrintPerFrame()
std::string Stats::PrintPerFrame |
( |
std::string const & |
doer_string, |
|
|
FrameSummary const & |
frame_summary |
|
) |
| |
|
staticprivate |
◆ PrintPerFrameDone()
void Stats::PrintPerFrameDone |
( |
PrintType |
print_type, |
|
|
size_t |
frame_id |
|
) |
| const |
◆ PrintPerSymbolDone()
void Stats::PrintPerSymbolDone |
( |
PrintType |
print_type, |
|
|
size_t |
frame_id, |
|
|
size_t |
symbol_id, |
|
|
size_t |
sub_count |
|
) |
| const |
◆ PrintPerTaskDone()
void Stats::PrintPerTaskDone |
( |
PrintType |
print_type, |
|
|
size_t |
frame_id, |
|
|
size_t |
symbol_id, |
|
|
size_t |
ant_or_sc_id, |
|
|
size_t |
task_count |
|
) |
| const |
◆ PrintPerThreadPerTask()
void Stats::PrintPerThreadPerTask |
( |
std::string const & |
doer_string, |
|
|
FrameSummary const & |
s |
|
) |
| |
|
staticprivate |
◆ PrintSummary()
void Stats::PrintSummary |
( |
| ) |
|
If worker stats collection is enabled, prsize_t a summary of stats.
◆ SaveToFile()
void Stats::SaveToFile |
( |
| ) |
|
Save master timestamps to a file. If worker stats collection is enabled, also save detailed worker timing info to a file.
◆ UpdateStats()
void Stats::UpdateStats |
( |
size_t |
frame_id | ) |
|
If worker stats collection is enabled, combine and update per-worker stats for all uplink and donwlink Doer types. Else return immediately.
◆ beam_thread_num_
const size_t Stats::beam_thread_num_ |
|
private |
◆ break_down_num_
◆ config_
const Config* const Stats::config_ |
|
private |
◆ creation_tsc_
const size_t Stats::creation_tsc_ |
|
private |
◆ decode_thread_num_
const size_t Stats::decode_thread_num_ |
|
private |
◆ demul_thread_num_
const size_t Stats::demul_thread_num_ |
|
private |
◆ doer_breakdown_us_
◆ doer_us_
◆ fft_thread_num_
const size_t Stats::fft_thread_num_ |
|
private |
◆ frame_start_
Table<size_t> Stats::frame_start_ |
|
private |
Dimensions = number of packet RX threads x kNumStatsFrames. frame_start[i][j] is the RDTSC timestamp taken by thread i when it starts receiving frame j.
◆ freq_ghz_
const double Stats::freq_ghz_ |
|
private |
◆ last_frame_id_
size_t Stats::last_frame_id_ |
|
private |
◆ master_timestamps_
Timestamps taken by the master thread at different points in a frame's processing
◆ task_thread_num_
const size_t Stats::task_thread_num_ |
|
private |
◆ worker_durations_
◆ worker_durations_old_
The documentation for this class was generated from the following files: