2009-03-04 3 views
2

Мне нужно собрать статистику с моего серверного приложения, написанного на python. Я ищу некоторые общие рекомендации по настройке моделей и точно, как хранить статистику. Я думал о хранении и организации всей этой информации в базе данных, но моя реализация оказывается слишком конкретной.Как приложения собирают статистику?

Мне нужно собрать статистику как активных пользователей, обработанных запросов и т. Д. Со временем.

Есть ли какие-либо руководства или методы для создания еще более универсальных систем хранения статистики?

ответ

2

Как и большинство программных решений, я не могу решить, какую проблему вы решите решить. Но я создал несколько подобных программ, и вот некоторые вещи, которые я нашел, которые хорошо работали.

  • Создайте асинхронную службу ведения журнала, чтобы регистрация не оказала негативного влияния на производительность вашего кода. (Вы должны помнить, где хранятся ваши данные, где они обрабатываются и т. Д., Потому что вы все равно можете значительно ухудшить производительность, если не будете осторожны.) Я обнаружил, что создание веб-сервиса часто бывает удобным.
  • Попробуйте сохранить как можно больше информации о запросе. В будущем это упростит добавление новых запросов и отчетов.
    • Normalize Ваши данные
    • Всегда включайте время было выполнено действие. Если вы можете захватить время выполнения, которое оно обычно также полезно.
1

Один из подходов состоит в том, чтобы сделать это поэтапно: хранить журналы активности, включая запросы и пользователей, в виде текстовых файлов. Позже, мои журналы в точках данных (python должен быть в состоянии сделать это легко). Вы можете использовать logging library for python для этапа ведения журнала. В общем, начните с записи с высоким временем разрешения, которую позже вы можете объединить в ежечасные, ежедневные, еженедельные сводки и т. Д.

Смежные вопросы