Class: Nanoc::CLI::Commands::Compile::TimingRecorder
- Defined in:
- lib/nanoc/cli/commands/compile.rb
Overview
Records the time spent per filter and per item representation
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(reps:) ⇒ TimingRecorder
constructor
A new instance of TimingRecorder.
-
#start ⇒ Object
-
#stop ⇒ Object
Constructor Details
#initialize(reps:) ⇒ TimingRecorder
Returns a new instance of TimingRecorder
149 150 151 152 153 |
# File 'lib/nanoc/cli/commands/compile.rb', line 149 def initialize(reps:) @times = {} @reps = reps end |
Class Method Details
.enable_for?(command_runner) ⇒ Boolean
144 145 146 |
# File 'lib/nanoc/cli/commands/compile.rb', line 144 def self.enable_for?(command_runner) command_runner..fetch(:verbose, false) end |
Instance Method Details
#start ⇒ Object
156 157 158 159 160 161 162 163 164 |
# File 'lib/nanoc/cli/commands/compile.rb', line 156 def start Nanoc::Int::NotificationCenter.on(:filtering_started) do |_rep, filter_name| @times[filter_name] ||= [] @times[filter_name] << { start: Time.now } end Nanoc::Int::NotificationCenter.on(:filtering_ended) do |_rep, filter_name| @times[filter_name].last[:stop] = Time.now end end |
#stop ⇒ Object
167 168 169 170 |
# File 'lib/nanoc/cli/commands/compile.rb', line 167 def stop print_profiling_feedback super end |