comparison piecrust/app.py @ 876:d1095774bfcf

refactor: Fix some issues with record/cache entry collisions, add counters.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 15 Jun 2017 07:33:40 -0700
parents 08e02c2a2a1a
children 13e8b50a2113
comparison
equal deleted inserted replaced
875:7169bf42ec60 876:d1095774bfcf
46 stats.registerTimer("BuildRenderData") 46 stats.registerTimer("BuildRenderData")
47 stats.registerTimer("PageRender") 47 stats.registerTimer("PageRender")
48 stats.registerTimer("PageRenderSegments") 48 stats.registerTimer("PageRenderSegments")
49 stats.registerTimer("PageRenderLayout") 49 stats.registerTimer("PageRenderLayout")
50 stats.registerTimer("PageSerialize") 50 stats.registerTimer("PageSerialize")
51 stats.registerCounter('PageLoads')
52 stats.registerCounter('PageRenderSegments')
53 stats.registerCounter('PageRenderLayout')
51 54
52 @cached_property 55 @cached_property
53 def config(self): 56 def config(self):
54 logger.debug("Creating site configuration...") 57 logger.debug("Creating site configuration...")
55 start_time = time.perf_counter() 58 start_time = time.perf_counter()
213 if pub.target == target_name: 216 if pub.target == target_name:
214 return pub 217 return pub
215 return None 218 return None
216 219
217 def getPage(self, source, content_item): 220 def getPage(self, source, content_item):
218 cache_key = content_item.spec 221 cache_key = '%s@%s' % (source.name, content_item.spec)
219 return self.env.page_repository.get( 222 return self.env.page_repository.get(
220 cache_key, 223 cache_key,
221 lambda: Page(source, content_item)) 224 lambda: Page(source, content_item))
222 225
223 def _get_dir(self, default_rel_dir): 226 def _get_dir(self, default_rel_dir):