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
166 167 168 169 170 |
# File 'lib/nanoc/cli/commands/compile.rb', line 166 def initialize(reps:) @times = {} @reps = reps end |
Class Method Details
.enable_for?(command_runner) ⇒ Boolean
161 162 163 |
# File 'lib/nanoc/cli/commands/compile.rb', line 161 def self.enable_for?(command_runner) command_runner..fetch(:verbose, false) end |
Instance Method Details
#start ⇒ Object
173 174 175 176 177 178 179 180 181 |
# File 'lib/nanoc/cli/commands/compile.rb', line 173 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
184 185 186 187 |
# File 'lib/nanoc/cli/commands/compile.rb', line 184 def stop print_profiling_feedback super end |