Merge branch 'wafcache_stats_multiple_bld' into 'master'

wafcache: support stats also for multiple build commands

See merge request ita1024/waf!2334
This commit is contained in:
Federico Pellegrin 2021-11-24 12:28:03 +00:00
commit 97229d4ff0
1 changed files with 13 additions and 13 deletions

View File

@ -258,6 +258,19 @@ def build(bld):
"""
Called during the build process to enable file caching
"""
if WAFCACHE_STATS:
# Init counter for statistics and hook to print results at the end
bld.cache_reqs = bld.cache_hits = bld.cache_puts = 0
def printstats(bld):
hit_ratio = 0
if bld.cache_reqs > 0:
hit_ratio = (bld.cache_hits / bld.cache_reqs) * 100
Logs.pprint('CYAN', ' wafcache stats: requests: %s, hits, %s, ratio: %.2f%%, writes %s' %
(bld.cache_reqs, bld.cache_hits, hit_ratio, bld.cache_puts) )
bld.add_post_fun(printstats)
if process_pool:
# already called once
return
@ -273,19 +286,6 @@ def build(bld):
for x in reversed(list(Task.classes.values())):
make_cached(x)
if WAFCACHE_STATS:
# Init counter for statistics and hook to print results at the end
bld.cache_reqs = bld.cache_hits = bld.cache_puts = 0
def printstats(bld):
hit_ratio = 0
if bld.cache_reqs > 0:
hit_ratio = (bld.cache_hits / bld.cache_reqs) * 100
Logs.pprint('CYAN', ' wafcache stats: requests: %s, hits, %s, ratio: %.2f%%, writes %s' %
(bld.cache_reqs, bld.cache_hits, hit_ratio, bld.cache_puts) )
bld.add_post_fun(printstats)
def cache_command(sig, files_from, files_to):
"""
Create a command for cache worker processes, returns a pickled