Class: RubyProf::MultiPrinter
- Inherits:
-
Object
- Object
- RubyProf::MultiPrinter
- Defined in:
- lib/ruby-prof/multi_printer.rb
Instance Method Summary collapse
-
#flat_profile ⇒ Object
the name of the flat profile file.
-
#graph_profile ⇒ Object
the name of the graph profile file.
-
#initialize(result) ⇒ MultiPrinter
constructor
Helper class to simplify printing profiles of several types from one profiling run.
-
#print(options) ⇒ Object
create profile files under options or the current directory.
-
#stack_profile ⇒ Object
the name of the call stack profile file.
-
#tree_profile ⇒ Object
the name of the callgrind profile file.
Constructor Details
#initialize(result) ⇒ 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.
7 8 9 10 11 12 |
# File 'lib/ruby-prof/multi_printer.rb', line 7 def initialize(result) @stack_printer = CallStackPrinter.new(result) @graph_printer = GraphHtmlPrinter.new(result) @tree_printer = CallTreePrinter.new(result) @flat_printer = FlatPrinter.new(result) end |
Instance Method Details
#flat_profile ⇒ Object
the name of the flat profile file
50 51 52 |
# File 'lib/ruby-prof/multi_printer.rb', line 50 def flat_profile "#{@directory}/#{@profile}.flat.txt" end |
#graph_profile ⇒ Object
the name of the graph profile file
40 41 42 |
# File 'lib/ruby-prof/multi_printer.rb', line 40 def graph_profile "#{@directory}/#{@profile}.graph.html" end |
#print(options) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/ruby-prof/multi_printer.rb', line 17 def print() @profile = .delete(:profile) || "profile" @directory = .delete(:path) || File.(".") File.open(stack_profile, "w") do |f| @stack_printer.print(f, .merge(:graph => "#{@profile}.graph.html")) end File.open(graph_profile, "w") do |f| @graph_printer.print(f, ) end File.open(tree_profile, "w") do |f| @tree_printer.print(f, ) end File.open(flat_profile, "w") do |f| @flat_printer.print(f, ) end end |
#stack_profile ⇒ Object
the name of the call stack profile file
35 36 37 |
# File 'lib/ruby-prof/multi_printer.rb', line 35 def stack_profile "#{@directory}/#{@profile}.stack.html" end |
#tree_profile ⇒ Object
the name of the callgrind profile file
45 46 47 |
# File 'lib/ruby-prof/multi_printer.rb', line 45 def tree_profile "#{@directory}/#{@profile}.grind.dat" end |