Remove totals in profile table properly (#9186)
Merge pull request 9186
This commit is contained in:
parent
d78c65f2c7
commit
82bb2714df
|
@ -15,16 +15,12 @@ module Jekyll
|
|||
|
||||
private
|
||||
|
||||
# rubocop:disable Metrics/AbcSize
|
||||
def data_for_table(num_of_rows)
|
||||
sorted = @stats.sort_by { |_, file_stats| -file_stats[:time] }
|
||||
sorted = sorted.slice(0, num_of_rows)
|
||||
|
||||
table = [header_labels]
|
||||
totals = Hash.new { |hash, key| hash[key] = 0 }
|
||||
|
||||
sorted.each do |filename, file_stats|
|
||||
GAUGES.each { |gauge| totals[gauge] += file_stats[gauge] }
|
||||
row = []
|
||||
row << filename
|
||||
row << file_stats[:count].to_s
|
||||
|
@ -33,14 +29,8 @@ module Jekyll
|
|||
table << row
|
||||
end
|
||||
|
||||
footer = []
|
||||
footer << "TOTAL (for #{sorted.size} files)"
|
||||
footer << totals[:count].to_s
|
||||
footer << format_bytes(totals[:bytes])
|
||||
footer << format("%.3f", totals[:time])
|
||||
table << footer
|
||||
table
|
||||
end
|
||||
# rubocop:enable Metrics/AbcSize
|
||||
|
||||
def header_labels
|
||||
GAUGES.map { |gauge| gauge.to_s.capitalize }.unshift("Filename")
|
||||
|
|
|
@ -33,18 +33,14 @@ module Jekyll
|
|||
|
||||
def profile_process
|
||||
profile_data = { "PHASE" => "TIME" }
|
||||
total_time = 0
|
||||
|
||||
[:reset, :read, :generate, :render, :cleanup, :write].each do |method|
|
||||
start_time = Time.now
|
||||
@site.send(method)
|
||||
end_time = (Time.now - start_time).round(4)
|
||||
profile_data[method.to_s.upcase] = format("%.4f", end_time)
|
||||
total_time += end_time
|
||||
end
|
||||
|
||||
profile_data["TOTAL TIME"] = format("%.4f", total_time)
|
||||
|
||||
Jekyll.logger.info "\nBuild Process Summary:"
|
||||
Jekyll.logger.info Profiler.tabulate(Array(profile_data))
|
||||
|
||||
|
|
Loading…
Reference in New Issue