diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-11-22 20:06:48 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-11-22 20:06:48 +0100 |
| commit | b4e1be8ab07d883637a7f0f00c37d9bbf5ef6ee8 (patch) | |
| tree | 591d7ce8d61d9a9e5d35a695f6a2276066f1a4a3 /odoo/tools/cache.py | |
| parent | 1c4d49330e7f9719e372040f0c8729d3cf3d09fa (diff) | |
| parent | b09f624f20781d65baf2060df40383898e6f86e5 (diff) | |
[MERGE] forward port branch saas-11.3 up to b09f624f207
Diffstat (limited to 'odoo/tools/cache.py')
| -rw-r--r-- | odoo/tools/cache.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/odoo/tools/cache.py b/odoo/tools/cache.py index a4f49831d6c..052f89545a2 100644 --- a/odoo/tools/cache.py +++ b/odoo/tools/cache.py @@ -205,16 +205,22 @@ def log_ormcache_stats(sig=None, frame=None): me = threading.currentThread() me_dbname = getattr(me, 'dbname', 'n/a') - entries = defaultdict(int) - for dbname, reg in Registry.registries.items(): - for key in reg.cache: - entries[(dbname,) + key[:2]] += 1 - for key, count in sorted(entries.items()): - dbname, model_name, method = key + + for dbname, reg in sorted(Registry.registries.items()): + # set logger prefix to dbname me.dbname = dbname - stat = STAT[key] - _logger.info("%6d entries, %6d hit, %6d miss, %6d err, %4.1f%% ratio, for %s.%s", - count, stat.hit, stat.miss, stat.err, stat.ratio, model_name, method.__name__) + entries = defaultdict(int) + # beware: we use .keys() on purpose here (reg.cache is not a real dict) + for key in reg.cache.keys(): + entries[key[:2]] += 1 + # show entries sorted by model name, method name + for key in sorted(entries, key=lambda key: (key[0], key[1].__name__)): + model, method = key + stat = STAT[(dbname, model, method)] + _logger.info( + "%6d entries, %6d hit, %6d miss, %6d err, %4.1f%% ratio, for %s.%s", + entries[key], stat.hit, stat.miss, stat.err, stat.ratio, model, method.__name__, + ) me.dbname = me_dbname |
