Class: TestProf::RubyProf::Configuration
- Inherits:
-
Object
- Object
- TestProf::RubyProf::Configuration
- Defined in:
- lib/test_prof/ruby_prof.rb
Overview
RubyProf configuration
Constant Summary collapse
- ELIMINATE_METHODS =
Default list of methods to exclude from profile. Contains a lot of RSpec stuff.
[ /instance_exec/, /ExampleGroup>?#run/, /Procsy/, /AroundHook#execute_with/, /HookCollections/, /Array#(map|each)/ ].freeze
- PRINTERS =
{ 'flat' => 'FlatPrinter', 'flat_wln' => 'FlatWithLineNumbers', 'graph' => 'GraphPrinter', 'graph_html' => 'GraphHtmlPrinter', 'dot' => 'DotPrinter', '.' => 'DotPrinter', 'call_stack' => 'CallStackPrinter', 'call_tree' => 'CallTreePrinter' }.freeze
- PRINTER_EXTENSTION =
Mapping from printer to report file extension NOTE: txt is not included and considered default
{ 'graph_html' => 'html', 'dot' => 'dot', '.' => 'dot', 'call_stack' => 'html', 'call_tree' => 'dat' }.freeze
Instance Attribute Summary collapse
-
#eliminate_methods ⇒ Object
Returns the value of attribute eliminate_methods.
-
#include_threads ⇒ Object
Returns the value of attribute include_threads.
-
#min_percent ⇒ Object
Returns the value of attribute min_percent.
-
#mode ⇒ Object
Returns the value of attribute mode.
-
#printer ⇒ Object
Returns the value of attribute printer.
Instance Method Summary collapse
- #eliminate_methods? ⇒ Boolean
- #include_threads? ⇒ Boolean
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
-
#resolve_printer ⇒ Object
Returns an array of printer type (ID) and class.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
62 63 64 65 66 67 68 69 |
# File 'lib/test_prof/ruby_prof.rb', line 62 def initialize @printer = ENV['TEST_RUBY_PROF'].to_sym if PRINTERS.key?(ENV['TEST_RUBY_PROF']) @printer ||= ENV.fetch('TEST_RUBY_PROF_PRINTER', :flat).to_sym @mode = ENV.fetch('TEST_RUBY_PROF_MODE', :wall).to_sym @min_percent = 1 @include_threads = false @eliminate_methods = ELIMINATE_METHODS end |
Instance Attribute Details
#eliminate_methods ⇒ Object
Returns the value of attribute eliminate_methods.
59 60 61 |
# File 'lib/test_prof/ruby_prof.rb', line 59 def eliminate_methods @eliminate_methods end |
#include_threads ⇒ Object
Returns the value of attribute include_threads.
59 60 61 |
# File 'lib/test_prof/ruby_prof.rb', line 59 def include_threads @include_threads end |
#min_percent ⇒ Object
Returns the value of attribute min_percent.
59 60 61 |
# File 'lib/test_prof/ruby_prof.rb', line 59 def min_percent @min_percent end |
#mode ⇒ Object
Returns the value of attribute mode.
59 60 61 |
# File 'lib/test_prof/ruby_prof.rb', line 59 def mode @mode end |
#printer ⇒ Object
Returns the value of attribute printer.
59 60 61 |
# File 'lib/test_prof/ruby_prof.rb', line 59 def printer @printer end |
Instance Method Details
#eliminate_methods? ⇒ Boolean
75 76 77 78 |
# File 'lib/test_prof/ruby_prof.rb', line 75 def eliminate_methods? !eliminate_methods.nil? && !eliminate_methods.empty? end |
#include_threads? ⇒ Boolean
71 72 73 |
# File 'lib/test_prof/ruby_prof.rb', line 71 def include_threads? include_threads == true end |
#resolve_printer ⇒ Object
Returns an array of printer type (ID) and class.
81 82 83 84 85 86 87 88 89 90 |
# File 'lib/test_prof/ruby_prof.rb', line 81 def resolve_printer return ['custom', printer] if printer.is_a?(Module) type = printer.to_s raise ArgumentError, "Unknown printer: #{type}" unless PRINTERS.key?(type) [type, ::RubyProf.const_get(PRINTERS[type])] end |