signals.py 697 B

12345678910111213141516171819202122
  1. from cacheops.signals import cache_invalidated, cache_read
  2. from prometheus_client import Counter
  3. cacheops_cache_hit = Counter('cacheops_cache_hit', 'Number of cache hits')
  4. cacheops_cache_miss = Counter('cacheops_cache_miss', 'Number of cache misses')
  5. cacheops_cache_invalidated = Counter('cacheops_cache_invalidated', 'Number of cache invalidations')
  6. def cache_read_collector(sender, func, hit, **kwargs):
  7. if hit:
  8. cacheops_cache_hit.inc()
  9. else:
  10. cacheops_cache_miss.inc()
  11. def cache_invalidated_collector(sender, obj_dict, **kwargs):
  12. cacheops_cache_invalidated.inc()
  13. cache_read.connect(cache_read_collector)
  14. cache_invalidated.connect(cache_invalidated_collector)