32 #ifndef GRAPHCHI_BASIC_REPORTER
33 #define GRAPHCHI_BASIC_REPORTER
50 virtual void do_report(std::string name, std::string ident, std::map<std::string, metrics_entry> & entries) {
53 std::cout << std::endl <<
" === REPORT FOR " << name <<
"(" << ident <<
") ===" << std::endl;
55 std::cout << std::endl <<
" === REPORT FOR " << name <<
" ===" << std::endl;
59 for(
int round=0; round<4; round++) {
60 std::map<std::string, metrics_entry>::iterator it;
63 for(it = entries.begin(); it != entries.end(); ++it) {
69 if (c++ == 0) std::cout <<
"[Numeric]" << std::endl;
70 std::cout << it->first <<
":\t\t";
72 std::cout << ent.value <<
"\t(count: " << ent.count <<
", min: " << ent.minvalue <<
73 ", max: " << ent.maxvalue <<
", avg: "
74 << ent.cumvalue/(double)ent.count <<
")" << std::endl;
76 std::cout << ent.value << std::endl;
82 if (c++ == 0) std::cout <<
"[Timings]" << std::endl;
83 std::cout << it->first <<
":\t\t";
85 std::cout << ent.value <<
"s\t (count: " << ent.count <<
", min: " << ent.minvalue <<
86 "s, " <<
"max: " << ent.maxvalue <<
", avg: "
87 << ent.cumvalue/(double)ent.count <<
"s)" << std::endl;
89 std::cout << ent.value <<
" s" << std::endl;
95 if (c++ == 0) std::cout <<
"[Other]" << std::endl;
96 std::cout << it->first <<
":\t";
97 std::cout << ent.stringval << std::endl;
102 if (c++ == 0) std::cout <<
"[Numeric]" << std::endl;
103 std::cout << it->first <<
":\t\t";
105 std::cout << ent.value <<
"\t(count: " << ent.count <<
", min: " << ent.minvalue <<
106 ", max: " << ent.maxvalue <<
", avg: "
107 << ent.cumvalue/(double)ent.count <<
")" << std::endl;
109 std::cout << ent.value << std::endl;
111 std::cout << it->first <<
".values:\t\t";
112 for(
size_t j=0; j<ent.v.size(); j++) std::cout << ent.v[j] <<
",";
113 std::cout << std::endl;