X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FStatistics.cc;h=0d5e94792020cb0278109405a1b0a3d34ba0685f;hb=5a0a897af1c843762f90f316fc7608e9578901ea;hp=a9cb32581f89c88a08345769b7e6d6b35dd54d16;hpb=82e794070d4f3ae8aacb1827b21a93b9d48ce57f;p=senf.git diff --git a/senf/Utils/Statistics.cc b/senf/Utils/Statistics.cc index a9cb325..0d5e947 100644 --- a/senf/Utils/Statistics.cc +++ b/senf/Utils/Statistics.cc @@ -81,7 +81,7 @@ senf::StatisticsBase::output(unsigned n) } // -// generate an engineering style notation i +// generate an engineering style notation // char *format_eng( float f) { @@ -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;