Как получить статистику кеша от @ ring.lru, оборачивая статический метод в python? - PullRequest
0 голосов
/ 29 сентября 2019

Я использую ring для кэширования результатов статическим методом, например так:

    @ring.lru()
    @staticmethod
    def get_hostname_by_id(object_id):
        return Monkey.get_single_monkey_by_id(object_id).hostname

Я бы хотел вывести статистику о том, сколько промахов, попаданий и запросов я получаю,Было бы полезно что-то похожее на метод https://docs.python.org/3/library/functools.html#functools.lru_cache's cache_info.

Я вижу во внутренней части реализации LRU ring обновляемый словарь статистики.Однако я не вижу, как получить доступ к этим данным.

Есть идеи?

Я использую Python 2.7.

1 Ответ

0 голосов
/ 29 сентября 2019

С помощью @ MatsLindh я нашел его.Доступ к кешу LRU осуществляется через .storage.backend.Так что в моем случае это было Monkey.get_hostname_by_id.storage.backend.cache_info().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...