format_output::formatter Class Reference

base class for formatter, handle common options to formatter More...

#include <format_output.h>

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

Data Structures

struct  counts_t
struct  field_datum
 data passed for output More...
struct  field_description
 decribe one field of the colummned output. More...

Public Member Functions

 formatter (extra_images const &extra)
virtual ~formatter ()
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

Detailed Description

base class for formatter, handle common options to formatter

Definition at line 41 of file format_output.h.


Member Typedef Documentation

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

format callback type

Definition at line 100 of file format_output.h.

Definition at line 132 of file format_output.h.


Constructor & Destructor Documentation

format_output::formatter::formatter ( extra_images const &  extra  ) 
format_output::formatter::~formatter (  )  [virtual]

Definition at line 118 of file format_output.cpp.


Member Function Documentation

void format_output::formatter::add_format ( format_flags  flag  ) 

add a given column

Definition at line 129 of file format_output.cpp.

References 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]

actually do output

string format_output::formatter::format_app_name ( field_datum const &  f  )  [protected]

Definition at line 286 of file format_output.cpp.

References symbol_entry::app_name, extra_found_images, get_image_name(), image_name_storage::int_real_basename, image_name_storage::int_real_filename, long_filenames, and format_output::formatter::field_datum::symbol.

Referenced by formatter().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 356 of file format_output.cpp.

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

Referenced by 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]

Definition at line 276 of file format_output.cpp.

References extra_found_images, get_image_name(), symbol_entry::image_name, image_name_storage::int_real_basename, image_name_storage::int_real_filename, long_filenames, and format_output::formatter::field_datum::symbol.

Referenced by formatter().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 296 of file format_output.cpp.

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

Referenced by formatter().

Here is the caller graph for this function:

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

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 formatter().

Here is the caller graph for this function:

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

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 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]

Definition at line 264 of file format_output.cpp.

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

Referenced by formatter().

Here is the caller graph for this function:

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

returns the nr of char needed to pad this field

void format_output::formatter::output_header ( std::ostream &  out  ) 

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]

returns the nr of char needed to pad this field

void format_output::formatter::set_nr_classes ( size_t  nr_classes  ) 

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 nr_classes.

void format_output::formatter::show_global_percent ( bool  on_off  ) 

use global count rather symbol count for details percent

Definition at line 153 of file format_output.cpp.

References global_percent.

void format_output::formatter::show_header ( bool  on_off  ) 

set the need_header boolean to false

Definition at line 135 of file format_output.cpp.

References need_header.

void format_output::formatter::show_long_filenames ( bool  on_off  ) 

show long (full path) filenames

Definition at line 147 of file format_output.cpp.

References long_filenames.

void format_output::formatter::vma_format_64bit ( bool  on_off  ) 

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_app_name(), 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 add_format().

stores functors for doing actual formatting

Definition at line 150 of file format_output.h.

Referenced by formatter().

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

Definition at line 168 of file format_output.h.

Referenced by show_global_percent().

false if we use basename(filename) in output rather filename

Definition at line 163 of file format_output.h.

Referenced by format_app_name(), format_image_name(), format_linenr_info(), and show_long_filenames().

true if we need to show header before the first output

Definition at line 165 of file format_output.h.

Referenced by show_header().

number of profile classes

Definition at line 153 of file format_output.h.

Referenced by set_nr_classes().

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