363 pass |
363 pass |
364 |
364 |
365 def stats(self): # XXX restrict to managers session? |
365 def stats(self): # XXX restrict to managers session? |
366 import threading |
366 import threading |
367 results = {} |
367 results = {} |
368 for hits, misses, title in ( |
368 querier = self.querier |
369 (self.querier.cache_hit, self.querier.cache_miss, 'rqlt_st'), |
369 source = self.system_source |
370 (self.system_source.cache_hit, self.system_source.cache_miss, 'sql'), |
370 for size, maxsize, hits, misses, title in ( |
|
371 (len(querier._rql_cache), self.config['rql-cache-size'], |
|
372 querier.cache_hit, querier.cache_miss, 'rqlt_st'), |
|
373 (len(source._cache), self.config['rql-cache-size'], |
|
374 source.cache_hit, source.cache_miss, 'sql'), |
371 ): |
375 ): |
|
376 results['%s_cache_size' % title] = '%s / %s' % (size, maxsize) |
372 results['%s_cache_hit' % title] = hits |
377 results['%s_cache_hit' % title] = hits |
373 results['%s_cache_miss' % title] = misses |
378 results['%s_cache_miss' % title] = misses |
374 results['%s_cache_hit_percent' % title] = (hits * 100) / (hits + misses) |
379 results['%s_cache_hit_percent' % title] = (hits * 100) / (hits + misses) |
375 results['sql_no_cache'] = self.system_source.no_cache |
380 results['sql_no_cache'] = self.system_source.no_cache |
376 results['nb_open_sessions'] = len(self._sessions) |
381 results['nb_open_sessions'] = len(self._sessions) |