X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FStatistics.cc;h=0d5e94792020cb0278109405a1b0a3d34ba0685f;hb=5a0a897af1c843762f90f316fc7608e9578901ea;hp=a96b33ba44f878dc304c82359b27eba9866c991a;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/Statistics.cc b/senf/Utils/Statistics.cc index a96b33b..0d5e947 100644 --- a/senf/Utils/Statistics.cc +++ b/senf/Utils/Statistics.cc @@ -28,7 +28,7 @@ // Custom includes #include -#include "Console/Console.hh" +#include #include "StatisticsTargets.hh" //#include "Statistics.mpp" @@ -81,23 +81,23 @@ senf::StatisticsBase::output(unsigned n) } // -// generate an engineering style notation i +// generate an engineering style notation // char *format_eng( float f) { static char buf[16]; - if( f > 0){ + if (f > 0) { int n = 0; - while( f >= 1000.0f){ + while( f >= 1000.0f) { f /= 1000.f; n+=3; } sprintf( buf, " %3.2fe%+03d", f, n); } - else if( f < 0){ + else if (f < 0) { int n = 0; - while( f <= -1000.0f){ + while( f <= -1000.0f) { f *= 1000.f; n+=3; } @@ -287,10 +287,17 @@ prefix_ std::string senf::Statistics::v_path() prefix_ void senf::Collector::enter(float min, float avg, float max) { accAvg_ += avg; - if (min < accMin_) accMin_ = min; - if (max > accMax_) accMax_ = max; + if (avg < accMin_) accMin_ = avg; + if (avg > accMax_) accMax_ = avg; if (++i_ >= rank_) { - StatisticsBase::enter(accMin_, accAvg_ / rank_, accMax_); + if( i_ == 1){ + // no averaging, report min & max for this period + StatisticsBase::enter(min, avg, max); + } + else{ + // averaging, report min(avgs) and max(avgs) + StatisticsBase::enter(accMin_, accAvg_ / rank_, accMax_); + } i_ = 0; accMin_ = FLT_MAX; accAvg_ = 0.0f;