Measure the no. of times a template gets rendered (#7316)
Merge pull request 7316
This commit is contained in:
parent
fbec40589d
commit
9152b1c9b8
|
@ -31,7 +31,6 @@ module Jekyll
|
|||
end
|
||||
LiquidRenderer::File.new(self, filename).tap do
|
||||
@stats[filename] ||= new_profile_hash
|
||||
@stats[filename][:count] += 1
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -43,6 +42,10 @@ module Jekyll
|
|||
@stats[filename][:time] += time
|
||||
end
|
||||
|
||||
def increment_count(filename)
|
||||
@stats[filename][:count] += 1
|
||||
end
|
||||
|
||||
def stats_table(num_of_rows = 50)
|
||||
LiquidRenderer::Table.new(@stats).to_s(num_of_rows)
|
||||
end
|
||||
|
|
|
@ -20,7 +20,9 @@ module Jekyll
|
|||
def render(*args)
|
||||
measure_time do
|
||||
measure_bytes do
|
||||
@template.render(*args)
|
||||
measure_counts do
|
||||
@template.render(*args)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -29,7 +31,9 @@ module Jekyll
|
|||
def render!(*args)
|
||||
measure_time do
|
||||
measure_bytes do
|
||||
@template.render!(*args)
|
||||
measure_counts do
|
||||
@template.render!(*args)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -40,6 +44,11 @@ module Jekyll
|
|||
|
||||
private
|
||||
|
||||
def measure_counts
|
||||
@renderer.increment_count(@filename)
|
||||
yield
|
||||
end
|
||||
|
||||
def measure_bytes
|
||||
yield.tap do |str|
|
||||
@renderer.increment_bytes(@filename, str.bytesize)
|
||||
|
|
Loading…
Reference in New Issue