format_output::xml_cg_formatter Class Reference

#include <format_output.h>

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

Public Member Functions

 xml_cg_formatter (callgraph_container const &callgraph, symbol_collection &symbols, string_filter const &sf)
 build a ready to use formatter
virtual void output_symbol (std::ostream &out, symbol_entry const *symb, size_t lo, size_t hi, bool is_module)
void output (std::ostream &out)
std::string output_symbol_details (symbol_entry const *symb, size_t &detail_index, size_t const lo, size_t const hi)
 output details for the symbol
void show_details (bool)
 set the output_details boolean
void output_symbol_data (std::ostream &out)
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_symbol_core (std::ostream &out, cg_symbol::children const cg_symb, std::string const selfname, std::string const qname, size_t lo, size_t hi, bool is_module, tag_t tag)

Private Attributes

callgraph_container const & callgraph
 container we work from

Detailed Description

Definition at line 300 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::xml_cg_formatter::xml_cg_formatter ( callgraph_container const &  callgraph,
symbol_collection symbols,
string_filter const &  sf 
)

build a ready to use formatter

Definition at line 933 of file format_output.cpp.

References callgraph, format_output::formatter::counts, callgraph_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::xml_formatter::output ( std::ostream &  out  )  [inherited]
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

virtual void format_output::xml_cg_formatter::output_symbol ( std::ostream &  out,
symbol_entry const *  symb,
size_t  lo,
size_t  hi,
bool  is_module 
) [virtual]

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

Reimplemented from format_output::xml_formatter.

void format_output::xml_cg_formatter::output_symbol_core ( std::ostream &  out,
cg_symbol::children const   cg_symb,
std::string const   selfname,
std::string const   qname,
size_t  lo,
size_t  hi,
bool  is_module,
tag_t  tag 
) [private]
void format_output::xml_formatter::output_symbol_data ( std::ostream &  out  )  [inherited]
string format_output::xml_formatter::output_symbol_details ( symbol_entry const *  symb,
size_t &  detail_index,
size_t const   lo,
size_t const   hi 
) [inherited]
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::xml_formatter::show_details ( bool  on_off  )  [inherited]

set the output_details boolean

Definition at line 621 of file format_output.cpp.

References format_output::xml_formatter::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

container we work from

Definition at line 313 of file format_output.h.

Referenced by xml_cg_formatter().

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

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