class RubyProf::MultiPrinter

Helper class to simplify printing profiles of several types from one profiling run. Currently prints a flat profile, a callgrind profile, a call stack profile and a graph profile.

Public Class Methods

needs_dir?() click to toggle source
   # File lib/ruby-prof/printers/multi_printer.rb 21 def self.needs_dir? 22   true 23 end
new(result, printers = [:flat, :graph_html]) click to toggle source
   # File lib/ruby-prof/printers/multi_printer.rb  8 def initialize(result, printers = [:flat, :graph_html])  9   @flat_printer = FlatPrinter.new(result) if printers.include?(:flat) 10  11   @graph_printer = GraphPrinter.new(result) if printers.include?(:graph) 12   @graph_html_printer = GraphHtmlPrinter.new(result) if printers.include?(:graph_html) 13  14   @tree_printer = CallTreePrinter.new(result) if printers.include?(:tree) 15   @call_info_printer = CallInfoPrinter.new(result) if printers.include?(:call_tree) 16  17   @stack_printer = CallStackPrinter.new(result) if printers.include?(:stack) 18   @dot_printer = DotPrinter.new(result) if printers.include?(:dot) 19 end

Public Instance Methods

call_info_report() click to toggle source

the name of the callinfo profile file

   # File lib/ruby-prof/printers/multi_printer.rb 60 def call_info_report 61   "#{@directory}/#{@profile}.call_tree.txt" 62 end
dot_report() click to toggle source

the name of the call stack profile file

   # File lib/ruby-prof/printers/multi_printer.rb 75 def dot_report 76   "#{@directory}/#{@profile}.dot" 77 end
flat_report() click to toggle source

the name of the flat profile file

   # File lib/ruby-prof/printers/multi_printer.rb 46 def flat_report 47   "#{@directory}/#{@profile}.flat.txt" 48 end
graph_html_report() click to toggle source
   # File lib/ruby-prof/printers/multi_printer.rb 55 def graph_html_report 56   "#{@directory}/#{@profile}.graph.html" 57 end
graph_report() click to toggle source

the name of the graph profile file

   # File lib/ruby-prof/printers/multi_printer.rb 51 def graph_report 52   "#{@directory}/#{@profile}.graph.txt" 53 end
print(options) click to toggle source

create profile files under options or the current directory. options is used as the base name for the profile file, defaults to “profile”.

print_to_call_info(options) click to toggle source
print_to_dot(options) click to toggle source
print_to_flat(options) click to toggle source
print_to_graph(options) click to toggle source
print_to_graph_html(options) click to toggle source
print_to_stack(options) click to toggle source
print_to_tree(options) click to toggle source
stack_report() click to toggle source

the name of the call stack profile file

   # File lib/ruby-prof/printers/multi_printer.rb 70 def stack_report 71   "#{@directory}/#{@profile}.stack.html" 72 end
tree_report() click to toggle source

the name of the callgrind profile file

   # File lib/ruby-prof/printers/multi_printer.rb 65 def tree_report 66   "#{@directory}/#{@profile}.callgrind.out.#{$$}" 67 end
validate_print_params(options) click to toggle source
    # File lib/ruby-prof/printers/multi_printer.rb 119 def validate_print_params(options) 120   if options.is_a?(IO) 121     raise ArgumentError, "#{self.class.name}#print cannot print to IO objects" 122   elsif !options.is_a?(Hash) 123     raise ArgumentError, "#{self.class.name}#print requires an options hash" 124   end 125 end