From: John L. <mov...@us...> - 2005-04-04 23:25:58
|
Update of /cvsroot/oprofile/oprofile/libpp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6812/libpp Modified Files: format_output.cpp format_output.h Log Message: mplement callgraph --global-percent Index: format_output.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/libpp/format_output.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -u -p -d -r1.27 -r1.28 --- format_output.cpp 4 Apr 2005 20:18:03 -0000 1.27 +++ format_output.cpp 4 Apr 2005 23:25:44 -0000 1.28 @@ -126,6 +126,13 @@ void formatter::show_long_filenames(bool long_filenames = on_off; } + +void formatter::show_global_percent(bool on_off) +{ + global_percent = on_off; +} + + void formatter::output_header(ostream & out) { if (!need_header) @@ -381,12 +388,6 @@ void opreport_formatter::show_details(bo } -void opreport_formatter::show_global_percent(bool on_off) -{ - global_percent = on_off; -} - - void opreport_formatter::output(ostream & out, symbol_entry const * symb) { do_output(out, *symb, symb->sample, counts); @@ -452,7 +453,10 @@ void cg_formatter::output(ostream & out, cg_symbol::children::const_iterator cend = sym.callers.end(); counts_t c; - c.total = sym.total_caller_count; + if (global_percent) + c.total = counts.total; + else + c.total = sym.total_caller_count; for (cit = sym.callers.begin(); cit != cend; ++cit) { out << child_parent_prefix; @@ -462,7 +466,10 @@ void cg_formatter::output(ostream & out, do_output(out, sym, sym.sample, counts); c = counts_t(); - c.total = sym.total_callee_count; + if (global_percent) + c.total = counts.total; + else + c.total = sym.total_callee_count; cend = sym.callees.end(); Index: format_output.h =================================================================== RCS file: /cvsroot/oprofile/oprofile/libpp/format_output.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -d -r1.17 -r1.18 --- format_output.h 4 Apr 2005 20:18:03 -0000 1.17 +++ format_output.h 4 Apr 2005 23:25:44 -0000 1.18 @@ -43,6 +43,8 @@ public: void vma_format_64bit(bool); /// show long (full path) filenames void show_long_filenames(bool); + /// use global count rather symbol count for details percent + void show_global_percent(bool); /** * Set the number of collected profile classes. Each class @@ -145,6 +147,9 @@ protected: bool long_filenames; /// true if we need to show header before the first output bool need_header; + /// bool if details percentage are relative to total count rather to + /// symbol count + bool global_percent; }; @@ -161,9 +166,6 @@ public: /// set the output_details boolean void show_details(bool); - /// use global count rather symbol count for details percent - void show_global_percent(bool); - private: /** output one symbol symb to out according to the output format @@ -178,9 +180,6 @@ private: /// true if we need to show details for each symbols bool need_details; - /// bool if details percentage are relative to total count rather to - /// symbol count - bool global_percent; }; |