Как приложения собирают статистику? - PullRequest
2 голосов
/ 04 марта 2009

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

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

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

Ответы [ 2 ]

2 голосов
/ 04 марта 2009

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

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

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

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