2.22. Статистические счетчики

aiomisc содержит внутренние счетчики статистики. Вы можете прочитать их с помощью функции aiomisc.get_statistics().

Экземпляры классов статистики создаются динамически. Вы можете использовать определяемые пользователем имена для них добавляя аргумент statistic_name: Optional[str] = None в сущности поддерживающие это.

import aiomisc

async def main():
    for metric in aiomisc.get_statistics():
        print(
            str(metric.kind.__name__),
            metric.name,
            metric.metric,
            metric.value
        )


with aiomisc.entrypoint() as loop:
    loop.run_until_complete(main())

Этот код выведет что-то вроде:

ContextStatistic None get 0
ContextStatistic None set 0
ThreadPoolStatistic logger submitted 1
ThreadPoolStatistic logger sum_time 0
ThreadPoolStatistic logger threads 1
ThreadPoolStatistic logger done 0
ThreadPoolStatistic logger success 0
ThreadPoolStatistic logger error 0
ThreadPoolStatistic default submitted 0
ThreadPoolStatistic default sum_time 0
ThreadPoolStatistic default threads 12
ThreadPoolStatistic default done 0
ThreadPoolStatistic default success 0
ThreadPoolStatistic default error 0