format_output::opreport_formatter Class Reference

class to output in a columned format symbols and associated samples More...

#include <format_output.h>

Inheritance diagram for format_output::opreport_formatter:
Inheritance graph
[legend]
Collaboration diagram for format_output::opreport_formatter:
Collaboration graph
[legend]

Public Member Functions

 opreport_formatter (profile_container const &profile)
 build a ready to use formatter
void output (std::ostream &out, symbol_collection const &syms)
void show_details (bool)
 set the output_details boolean
void add_format (format_flags flag)
 add a given column
void show_header (bool)
 set the need_header boolean to false
void vma_format_64bit (bool)
 format for 64 bit wide VMAs
void show_long_filenames (bool)
 show long (full path) filenames
void show_global_percent (bool)
 use global count rather symbol count for details percent
void set_nr_classes (size_t nr_classes)
void output_header (std::ostream &out)

Protected Types

typedef std::string(formatter::* fct_format )(field_datum const &)
 format callback type
typedef std::map< format_flags,
field_description
format_map_t

Protected Member Functions

void do_output (std::ostream &out, symbol_entry const &symbol, sample_entry const &sample, counts_t &c, diff_array_t const &=diff_array_t(), bool hide_immutable_field=false)
 actually do output
size_t output_header_field (std::ostream &out, format_flags fl, size_t padding)
 returns the nr of char needed to pad this field
size_t output_field (std::ostream &out, field_datum const &datum, format_flags fl, size_t padding, bool hide_immutable)
 returns the nr of char needed to pad this field
format functions.

The set of formatting functions, used internally by output().



std::string format_vma (field_datum const &)
std::string format_symb_name (field_datum const &)
std::string format_image_name (field_datum const &)
std::string format_app_name (field_datum const &)
std::string format_linenr_info (field_datum const &)
std::string format_nr_samples (field_datum const &)
std::string format_nr_cumulated_samples (field_datum const &)
std::string format_percent (field_datum const &)
std::string format_cumulated_percent (field_datum const &)
std::string format_percent_details (field_datum const &)
std::string format_cumulated_percent_details (field_datum const &)
std::string format_diff (field_datum const &)

Protected Attributes

format_map_t format_map
 stores functors for doing actual formatting
size_t nr_classes
 number of profile classes
counts_t counts
 total counts
format_flags flags
 formatting flags set
bool vma_64
 true if we need to format as 64 bits quantities
bool long_filenames
 false if we use basename(filename) in output rather filename
bool need_header
 true if we need to show header before the first output
bool global_percent
extra_images const & extra_found_images

Private Member Functions

void output (std::ostream &out, symbol_entry const *symb)
void output_details (std::ostream &out, symbol_entry const *symb)
 output details for the symbol

Private Attributes

profile_container const & profile
 container we work from
bool need_details
 true if we need to show details for each symbols

Detailed Description

class to output in a columned format symbols and associated samples

Definition at line 177 of file format_output.h.


Member Typedef Documentation

typedef std::string(formatter::* format_output::formatter::fct_format)(field_datum const &) [protected, inherited]

format callback type

Definition at line 100 of file format_output.h.

typedef std::map<format_flags, field_description> format_output::formatter::format_map_t [protected, inherited]

Definition at line 132 of file format_output.h.


Constructor & Destructor Documentation

format_output::opreport_formatter::opreport_formatter ( profile_container const &  profile  ) 

build a ready to use formatter

Definition at line 434 of file format_output.cpp.

References format_output::formatter::counts, profile, profile_container::samples_count(), and format_output::formatter::counts_t::total.

Here is the call graph for this function:


Member Function Documentation

void format_output::formatter::add_format ( format_flags  flag  )  [inherited]

add a given column

Definition at line 129 of file format_output.cpp.

References format_output::formatter::flags.

void format_output::formatter::do_output ( std::ostream &  out,
symbol_entry const &  symbol,
sample_entry const &  sample,
counts_t c,
diff_array_t const &  = diff_array_t(),
bool  hide_immutable_field = false 
) [protected, inherited]

actually do output

string format_output::formatter::format_app_name ( field_datum const &  f  )  [protected, inherited]
string format_output::formatter::format_cumulated_percent ( field_datum const &  f  )  [protected, inherited]
string format_output::formatter::format_cumulated_percent_details ( field_datum const &  f  )  [protected, inherited]
string format_output::formatter::format_diff ( field_datum const &  f  )  [protected, inherited]

Definition at line 356 of file format_output.cpp.

References format_output::formatter::field_datum::diff, format_output::formatter::format_percent(), percent_fract_width, and percent_int_width.

Referenced by format_output::formatter::formatter().

Here is the call graph for this function:

Here is the caller graph for this function:

string format_output::formatter::format_image_name ( field_datum const &  f  )  [protected, inherited]
string format_output::formatter::format_linenr_info ( field_datum const &  f  )  [protected, inherited]

Definition at line 296 of file format_output.cpp.

References sample_entry::file_loc, format_output::formatter::long_filenames, and format_output::formatter::field_datum::sample.

Referenced by format_output::formatter::formatter().

Here is the caller graph for this function:

string format_output::formatter::format_nr_cumulated_samples ( field_datum const &  f  )  [protected, inherited]
string format_output::formatter::format_nr_samples ( field_datum const &  f  )  [protected, inherited]

Definition at line 302 of file format_output.cpp.

References sample_entry::counts, format_output::formatter::field_datum::pclass, and format_output::formatter::field_datum::sample.

Referenced by format_output::formatter::formatter().

Here is the caller graph for this function:

string format_output::formatter::format_percent ( field_datum const &  f  )  [protected, inherited]
string format_output::formatter::format_percent_details ( field_datum const &  f  )  [protected, inherited]
string format_output::formatter::format_symb_name ( field_datum const &  f  )  [protected, inherited]

Definition at line 270 of file format_output.cpp.

References symbol_name_storage::demangle(), symbol_entry::name, format_output::formatter::field_datum::symbol, and symbol_names.

Referenced by format_output::formatter::formatter().

Here is the call graph for this function:

Here is the caller graph for this function:

string format_output::formatter::format_vma ( field_datum const &  f  )  [protected, inherited]

Definition at line 264 of file format_output.cpp.

References format_output::formatter::field_datum::sample, and sample_entry::vma.

Referenced by format_output::formatter::formatter().

Here is the caller graph for this function:

void format_output::opreport_formatter::output ( std::ostream &  out,
symbol_entry const *  symb 
) [private]

output one symbol symb to out according to the output format specifier previously set by call(s) to add_format()

void format_output::opreport_formatter::output ( std::ostream &  out,
symbol_collection const &  syms 
)

output a vector of symbols to out according to the output format specifier previously set by call(s) to add_format()

void format_output::opreport_formatter::output_details ( std::ostream &  out,
symbol_entry const *  symb 
) [private]

output details for the symbol

size_t format_output::formatter::output_field ( std::ostream &  out,
field_datum const &  datum,
format_flags  fl,
size_t  padding,
bool  hide_immutable 
) [protected, inherited]

returns the nr of char needed to pad this field

void format_output::formatter::output_header ( std::ostream &  out  )  [inherited]

output table header, implemented by calling the virtual function output_header_field()

size_t format_output::formatter::output_header_field ( std::ostream &  out,
format_flags  fl,
size_t  padding 
) [protected, inherited]

returns the nr of char needed to pad this field

void format_output::formatter::set_nr_classes ( size_t  nr_classes  )  [inherited]

Set the number of collected profile classes. Each class will output sample count and percentage in extra columns.

This class assumes that the profile information has been populated with the right number of classes.

Definition at line 123 of file format_output.cpp.

References format_output::formatter::nr_classes.

void format_output::opreport_formatter::show_details ( bool  on_off  ) 

set the output_details boolean

Definition at line 444 of file format_output.cpp.

References need_details.

void format_output::formatter::show_global_percent ( bool  on_off  )  [inherited]

use global count rather symbol count for details percent

Definition at line 153 of file format_output.cpp.

References format_output::formatter::global_percent.

void format_output::formatter::show_header ( bool  on_off  )  [inherited]

set the need_header boolean to false

Definition at line 135 of file format_output.cpp.

References format_output::formatter::need_header.

void format_output::formatter::show_long_filenames ( bool  on_off  )  [inherited]

show long (full path) filenames

Definition at line 147 of file format_output.cpp.

References format_output::formatter::long_filenames.

void format_output::formatter::vma_format_64bit ( bool  on_off  )  [inherited]

format for 64 bit wide VMAs

Definition at line 141 of file format_output.cpp.


Field Documentation

To retrieve the real image location, usefull when acting on an archive and for 2.6 kernel modules

Definition at line 172 of file format_output.h.

Referenced by format_output::formatter::format_app_name(), format_output::formatter::format_image_name(), format_output::xml_formatter::get_bfd_object(), and format_output::xml_formatter::output_symbol_details().

formatting flags set

Definition at line 159 of file format_output.h.

Referenced by format_output::formatter::add_format().

stores functors for doing actual formatting

Definition at line 150 of file format_output.h.

Referenced by format_output::formatter::formatter().

bool format_output::formatter::global_percent [protected, inherited]

bool if details percentage are relative to total count rather to symbol count

Definition at line 168 of file format_output.h.

Referenced by format_output::formatter::show_global_percent().

bool format_output::formatter::long_filenames [protected, inherited]

true if we need to show details for each symbols

Definition at line 202 of file format_output.h.

Referenced by show_details().

bool format_output::formatter::need_header [protected, inherited]

true if we need to show header before the first output

Definition at line 165 of file format_output.h.

Referenced by format_output::formatter::show_header().

size_t format_output::formatter::nr_classes [protected, inherited]

number of profile classes

Definition at line 153 of file format_output.h.

Referenced by format_output::formatter::set_nr_classes().

container we work from

Definition at line 199 of file format_output.h.

Referenced by opreport_formatter().

bool format_output::formatter::vma_64 [protected, inherited]

true if we need to format as 64 bits quantities

Definition at line 161 of file format_output.h.


The documentation for this class was generated from the following files:

Generated on 8 Nov 2012 for Oprofile by  doxygen 1.6.1