// ------------------------------------------------------- // Logs profiling data // ------------------------------------------------------- void print() { LOG << "------------------------------------------------------------"; LOG << " C | Percent | Accu | Name"; LOG << "------------------------------------------------------------"; float norm = ctx.data[0].totalTime; char buffer[256]; std::string line; for (int i = 0; i < ctx.index; ++i) { ProfileData& pd = ctx.data[i]; int ident = pd.level * 2; float per = pd.totalTime / norm * 100.0f; sprintf(buffer,"%3d | %s | %3.8f | ", pd.invokeCounter, formatPercentage(per).c_str(), pd.totalTime); line = buffer; for (int j = 0; j < ident; ++j) { line += " "; } LOG << line << " " << pd.name; } LOG << "------------------------------------------------------------"; }
void FrequencyFlagCountPlot::Report() { if(_counts.size() > 0) { size_t index = _ignoreFirstChannel ? 1 : 0; size_t column = 0; std::stringstream rowStr; AOLogger::Info << "Summary of RFI per channel: (" << formatFrequency(_counts.begin()->first) << " Hz - " << formatFrequency(_counts.rbegin()->first) << " Hz)\n"; for(std::map<double, struct MapItem>::const_iterator i=_counts.begin();i!=_counts.end();++i) { if(column == 0) { AOLogger::Info << "Channel " << formatIndex(index) << "-"; } std::string percString = formatPercentage(100.0L * (long double) i->second.count / (long double) i->second.total); for(unsigned j=percString.size();j<6;++j) rowStr << ' '; rowStr << percString << '%'; ++column; if(column >= 8) { AOLogger::Info << formatIndex(index) << ":" << rowStr.str() << '\n'; rowStr.str(std::string()); column = 0; } ++index; } if(column != 0) { AOLogger::Info << formatIndex(index-1) << ":" << rowStr.str() << '\n'; } } }