Class: RubyProf::AbstractPrinter
- Inherits:
-
Object
- Object
- RubyProf::AbstractPrinter
- Defined in:
- lib/ruby-prof/printers/abstract_printer.rb
Direct Known Subclasses
CallInfoPrinter, CallStackPrinter, CallTreePrinter, DotPrinter, FlameGraphHtmlPrinter, FlameGraphJsonPrinter, FlatPrinter, GraphHtmlPrinter, GraphPrinter
Instance Method Summary collapse
-
#initialize(result) ⇒ AbstractPrinter
constructor
Create a new printer.
- #method_name(method) ⇒ Object
- #min_percent ⇒ Object
-
#print(output = STDOUT, options = {}) ⇒ Object
Print a profiling report to the provided output.
- #print_file ⇒ Object
- #print_footer(thread) ⇒ Object
- #print_header(thread) ⇒ Object
- #print_thread(thread) ⇒ Object
- #print_threads ⇒ Object
-
#setup_options(options = {}) ⇒ Object
Specify print options.
- #sort_method ⇒ Object
Constructor Details
#initialize(result) ⇒ AbstractPrinter
Create a new printer.
result should be the output generated from a profiling run
8 9 10 11 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 8 def initialize(result) @result = result @output = nil end |
Instance Method Details
#method_name(method) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 45 def method_name(method) name = method.full_name if print_file name += " (#{method.source_file}:#{method.line}}" end name end |
#min_percent ⇒ Object
33 34 35 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 33 def min_percent @options[:min_percent] || 0 end |
#print(output = STDOUT, options = {}) ⇒ Object
Print a profiling report to the provided output.
output - Any IO object, including STDOUT or a file. The default value is STDOUT.
options - Hash of print options. See #setup_options for more information. Note that each printer can define its own set of options.
61 62 63 64 65 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 61 def print(output = STDOUT, = {}) @output = output () print_threads end |
#print_file ⇒ Object
37 38 39 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 37 def print_file @options[:print_file] || false end |
#print_footer(thread) ⇒ Object
82 83 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 82 def (thread) end |
#print_header(thread) ⇒ Object
79 80 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 79 def print_header(thread) end |
#print_thread(thread) ⇒ Object
73 74 75 76 77 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 73 def print_thread(thread) print_header(thread) print_methods(thread) (thread) end |
#print_threads ⇒ Object
67 68 69 70 71 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 67 def print_threads @result.threads.each do |thread| print_thread(thread) end end |
#setup_options(options = {}) ⇒ Object
Specify print options.
options - Hash table
:min_percent - Number 0 to 100 that specifes the minimum
%self (the methods self time divided by the
overall total time) that a method must take
for it to be printed out in the report.
Default value is 0.
:print_file - True or false. Specifies if a method's source
file should be printed. Default value if false.
:sort_method - Specifies method used for sorting method infos.
Available values are :total_time, :self_time,
:wait_time, :children_time
Default value is :total_time
29 30 31 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 29 def ( = {}) @options = end |
#sort_method ⇒ Object
41 42 43 |
# File 'lib/ruby-prof/printers/abstract_printer.rb', line 41 def sort_method @options[:sort_method] || :total_time end |