void Representer::print_per_session()

in analyzers/src/breakdown/representer.cpp [97:134]


void Representer::print_per_session(const Statistics& statistics, const Session& session, const std::string& ssession) const
{
    out << "Session: " << ssession << std::endl;

    statistics.for_each_procedure_in_session(session, [&](const BreakdownCounter& breakdown, size_t procedure) {
        uint64_t s_total_proc = breakdown.get_total_count();
        onProcedureInfoPrinted(out, breakdown, procedure);
        out.width(22);
        out << std::left
            << cmd_representer->command_name(procedure);
        out.width(6);
        out << " Count:";
        out.width(5);
        out << std::right
            << breakdown[procedure].get_count()
            << ' ';
        out.precision(2);
        out << '(';
        out.width(6);
        out << std::fixed
            << (s_total_proc ? (static_cast<long double>(breakdown[procedure].get_count()) * 100 / s_total_proc) : 0);
        out << "%) Min: ";
        out.precision(3);
        out << std::fixed
            << to_sec(breakdown[procedure].get_min())
            << " Max: "
            << std::fixed
            << to_sec(breakdown[procedure].get_max())
            << " Avg: "
            << std::fixed
            << breakdown[procedure].get_avg();
        out.precision(8);
        out << " StDev: "
            << std::fixed
            << breakdown[procedure].get_st_dev()
            << std::endl;
    });
}