#include <Sample_History.h>
Public Member Functions | |
ACE_Sample_History (size_t max_samples) | |
Constructor. | |
~ACE_Sample_History (void) | |
Destructor. | |
int | sample (ACE_UINT64 value) |
Record one sample. | |
size_t | max_samples (void) const |
Returns the maximum number of samples. | |
size_t | sample_count (void) const |
Returns the current number of samples. | |
void | dump_samples (const ACE_TCHAR *msg, ACE_UINT32 scale_factor) const |
Dump all the samples. | |
void | collect_basic_stats (ACE_Basic_Stats &) const |
Collect the summary for all the samples. | |
ACE_UINT64 | get_sample (size_t i) const |
Get a sample. | |
Private Attributes | |
size_t | max_samples_ |
The maximum number of samples. | |
size_t | sample_count_ |
The current number of samples. | |
ACE_UINT64 * | samples_ |
The samples. |
Save multiple samples (usually latency numbers), into an array, and later print them in several formats.
Definition at line 34 of file Sample_History.h.
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Sample_History::ACE_Sample_History | ( | size_t | max_samples | ) |
Constructor.
The number of samples is pre-allocated, and cannot changes once the class is initialized.
Definition at line 18 of file Sample_History.cpp.
References ACE_NEW.
00019 : max_samples_ (max_samples) 00020 , sample_count_ (0) 00021 { 00022 ACE_NEW(this->samples_, ACE_UINT64[this->max_samples_]); 00023 }
ACE_Sample_History::~ACE_Sample_History | ( | void | ) |
Destructor.
Definition at line 25 of file Sample_History.cpp.
References samples_.
00026 { 00027 delete[] this->samples_; 00028 }
void ACE_Sample_History::collect_basic_stats | ( | ACE_Basic_Stats & | ) | const |
Collect the summary for all the samples.
Definition at line 65 of file Sample_History.cpp.
References ACE_Basic_Stats::sample(), and sample_count_.
00066 { 00067 for (size_t i = 0; i != this->sample_count_; ++i) 00068 { 00069 stats.sample (this->samples_[i]); 00070 } 00071 }
void ACE_Sample_History::dump_samples | ( | const ACE_TCHAR * | msg, | |
ACE_UINT32 | scale_factor | |||
) | const |
Dump all the samples.
Prints out all the samples, using msg as a prefix for each message.
Definition at line 43 of file Sample_History.cpp.
References ACE_DEBUG, ACE_SIZE_T_FORMAT_SPECIFIER, ACE_TEXT, LM_DEBUG, and sample_count_.
00045 { 00046 #ifndef ACE_NLOGGING 00047 for (size_t i = 0; i != this->sample_count_; ++i) 00048 { 00049 const ACE_UINT64 val = this->samples_[i] / scale_factor; 00050 ACE_DEBUG ((LM_DEBUG, 00051 ACE_TEXT ("%s: ") 00052 ACE_SIZE_T_FORMAT_SPECIFIER 00053 ACE_TEXT ("\t%Q\n"), 00054 msg, 00055 i, 00056 val)); 00057 } 00058 #else 00059 ACE_UNUSED_ARG (msg); 00060 ACE_UNUSED_ARG (scale_factor); 00061 #endif /* ACE_NLOGGING */ 00062 }
ACE_INLINE ACE_UINT64 ACE_Sample_History::get_sample | ( | size_t | i | ) | const |
Get a sample.
Definition at line 18 of file Sample_History.inl.
References samples_.
00019 { 00020 if (this->sample_count_ <= i) 00021 return 0; 00022 00023 return this->samples_[i]; 00024 }
size_t ACE_Sample_History::max_samples | ( | void | ) | const |
Returns the maximum number of samples.
Definition at line 31 of file Sample_History.cpp.
References max_samples_.
00032 { 00033 return this->max_samples_; 00034 }
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int ACE_Sample_History::sample | ( | ACE_UINT64 | value | ) |
Record one sample.
Return 0 on success, -1 if the sample could not be stored
Definition at line 8 of file Sample_History.inl.
References sample_count_, and samples_.
00009 { 00010 if (this->sample_count_ >= this->max_samples_) 00011 return -1; 00012 00013 this->samples_[this->sample_count_++] = value; 00014 return 0; 00015 }
size_t ACE_Sample_History::sample_count | ( | void | ) | const |
Returns the current number of samples.
Definition at line 37 of file Sample_History.cpp.
References sample_count_.
00038 { 00039 return this->sample_count_; 00040 }
size_t ACE_Sample_History::max_samples_ [private] |
The maximum number of samples.
Definition at line 75 of file Sample_History.h.
Referenced by max_samples().
size_t ACE_Sample_History::sample_count_ [private] |
The current number of samples.
Definition at line 78 of file Sample_History.h.
Referenced by collect_basic_stats(), dump_samples(), sample(), and sample_count().
ACE_UINT64* ACE_Sample_History::samples_ [private] |
The samples.
Definition at line 81 of file Sample_History.h.
Referenced by get_sample(), sample(), and ~ACE_Sample_History().