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