X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FStatistics.cc;h=8e25803abb40b137c7091ec97cbe2c25964e8e55;hb=3aced0177a1c69c7af338b4e66db8694a71873ae;hp=10f603e4100c7177f8e8a5356ca4c9a16182a1ec;hpb=61b2e2ea5cb50df90931acf3fcd840493ba762a9;p=senf.git diff --git a/senf/Utils/Statistics.cc b/senf/Utils/Statistics.cc index 10f603e..8e25803 100644 --- a/senf/Utils/Statistics.cc +++ b/senf/Utils/Statistics.cc @@ -31,13 +31,14 @@ #include #include #include +#include #include "StatisticsTargets.hh" //#include "Statistics.mpp" #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::StatisticsBase prefix_ void senf::StatisticsBase::enter(unsigned n, float min, float avg, float max, float dev) @@ -62,6 +63,15 @@ prefix_ senf::Collector & senf::StatisticsBase::operator[](unsigned rank) return i->second; } +prefix_ senf::Collector const & senf::StatisticsBase::operator[](unsigned rank) + const +{ + Children::const_iterator i (children_.find(rank)); + if (i == children_.end()) + throw InvalidRankException(); + return i->second; +} + prefix_ senf::Collector & senf::StatisticsBase::collect(unsigned rank) { std::pair state ( @@ -140,7 +150,18 @@ prefix_ void senf::StatisticsBase::generateOutput() } } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// +// senf::StatisticsBase::OutputEntry + +prefix_ void senf::StatisticsBase::OutputEntry::consoleList(std::ostream & os) +{ + for (boost::ptr_vector::iterator i (targets_.begin()); + i != targets_.end(); ++i) + if (! i->label.empty()) + os << i->label << "\n"; +} + +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::Statistics prefix_ senf::Statistics::Statistics() @@ -149,7 +170,7 @@ prefix_ senf::Statistics::Statistics() #endif { #ifndef SENF_DISABLE_CONSOLE - namespace fty = senf::console::factory; + namespace fty = console::factory; dir.add("list", fty::Command(&Statistics::consoleList, this) .doc("List statistics collection intervals and current values.\n" @@ -202,7 +223,7 @@ prefix_ senf::Statistics::Statistics() "the last 5 minutes.") .arg("rank","Rank chain selecting the value to generate output for") .arg("window","Optional size of sliding average window", - senf::console::kw::default_value = 1u) ); + console::kw::default_value = 1u) ); #endif } @@ -259,7 +280,7 @@ prefix_ std::string senf::Statistics::v_path() return ""; } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::Collector prefix_ void senf::Collector::enter(unsigned n, float min, float avg, float max, float dev) @@ -307,7 +328,7 @@ prefix_ std::string senf::Collector::v_path() return owner_->path() + "-" + senf::str(rank_); } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_ //#include "Statistics.mpp"