#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.
|
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, and ACE_UINT64.
00019 : max_samples_ (max_samples) 00020 , sample_count_ (0) 00021 { 00022 ACE_NEW(this->samples_, ACE_UINT64[this->max_samples_]); 00023 } |
|
Destructor.
Definition at line 25 of file Sample_History.cpp. References samples_.
00026 { 00027 delete[] this->samples_; 00028 } |
|
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 } |
|
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_TCHAR, ACE_TEXT, ACE_UINT64, LM_DEBUG, sample_count_, and samples_.
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 } |
|
Get a sample.
Definition at line 18 of file Sample_History.inl. References sample_count_, and samples_.
00019 { 00020 if (this->sample_count_ <= i) 00021 return 0; 00022 00023 return this->samples_[i]; 00024 } |
|
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 } |
|
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 ACE_UINT64, max_samples_, 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 } |
|
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 } |
|
The maximum number of samples.
Definition at line 75 of file Sample_History.h. Referenced by max_samples(), and sample(). |
|
The current number of samples.
Definition at line 78 of file Sample_History.h. Referenced by collect_basic_stats(), dump_samples(), get_sample(), sample(), and sample_count(). |
|
The samples.
Definition at line 81 of file Sample_History.h. Referenced by dump_samples(), get_sample(), sample(), and ~ACE_Sample_History(). |