00001 // $Id: Sample_History.cpp 80826 2008-03-04 14:51:23Z wotte $ 00002 00003 #include "ace/Sample_History.h" 00004 00005 #if !defined (__ACE_INLINE__) 00006 #include "ace/Sample_History.inl" 00007 #endif /* __ACE_INLINE__ */ 00008 00009 #include "ace/Basic_Stats.h" 00010 #include "ace/Log_Msg.h" 00011 #include "ace/OS_Memory.h" 00012 00013 ACE_RCSID(ace, Sample_History, "$Id: Sample_History.cpp 80826 2008-03-04 14:51:23Z wotte $") 00014 00015 00016 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00017 00018 ACE_Sample_History::ACE_Sample_History (size_t max_samples) 00019 : max_samples_ (max_samples) 00020 , sample_count_ (0) 00021 { 00022 ACE_NEW(this->samples_, ACE_UINT64[this->max_samples_]); 00023 } 00024 00025 ACE_Sample_History::~ACE_Sample_History (void) 00026 { 00027 delete[] this->samples_; 00028 } 00029 00030 size_t 00031 ACE_Sample_History::max_samples (void) const 00032 { 00033 return this->max_samples_; 00034 } 00035 00036 size_t 00037 ACE_Sample_History::sample_count (void) const 00038 { 00039 return this->sample_count_; 00040 } 00041 00042 void 00043 ACE_Sample_History::dump_samples (const ACE_TCHAR *msg, 00044 ACE_UINT32 scale_factor) const 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 } 00063 00064 void 00065 ACE_Sample_History::collect_basic_stats (ACE_Basic_Stats &stats) const 00066 { 00067 for (size_t i = 0; i != this->sample_count_; ++i) 00068 { 00069 stats.sample (this->samples_[i]); 00070 } 00071 } 00072 00073 ACE_END_VERSIONED_NAMESPACE_DECL