Отладка Weblate

Баги могут проявлять себя в том, что приложение падает или ведёт себя некорректно. Мы будем рады, если вы соберёте информацию о таких проблемах и передадите её в нашу систему отслеживания проблем.

Режим отладки

Включение режима отладки приведёт к тому, что исключения будут отображаться прямо в браузере. Это полезно при отладке проблем в веб-интерфейсе, но для рабочей системы применять данный режим не следует, поскольку он отражается на производительности не лучшим образом и может привести к утечке конфиденциальных данных.

Журналы Weblate

Weblate может вести детализированные журналы того, что происходит в фоне. С настройками по умолчанию он использует syslog в результате чего файл журнала появляется в /var/log/messages или в /var/log/syslog (в зависимости от настроек вашего демона syslog).

Процесс Celery (см. Фоновые задачи с использованием Celery) обычно также ведёт свои собственные журналы. Скажем, в примере с установкой Celery в качестве системного сервиса журналы будут записываться в несколько файлов в каталоге /var/log/celery/.

Контейнеры Docker записывают журналы в свой поток вывода (как это обычно и бывает в Docker-мире), так что вы можете просмотреть эти журналы с помощью docker-compose logs.

Не обрабатываются фоновые задачи

Многие задачи выполняются в фоновых обработчиках Celery. Если такие вещи, как отправка электронной почты или удаление компонентов не работают, то, вероятно, с этими обработчиками какие-то проблемы.

В таком случае следует:

Не доходит электронная почта от Weblate

Проверить, правильно ли работает исходящая почта. Это можно сделать с помощью команды управления sendtestemail (подробности, как вызывать её в различных окружениях, смотрите в разделе «Вызов команд управления») или с помощью интерфейса управления на вкладке Инструменты.

Это действие отправит почту напрямую, так что таким образом можно проверить, что SMTP настроен корректно (см. Настройка исходящей почты). Однако большую часть почты Weblate отправляет в фоновых задачах, так что всё это может быть вызвано некоторыми проблемами с Celery. Как отладить Celery смотрите в соответствующем разделе.

Анализ падений программы

Если приложение падает, то будет полезно собрать об этом падении столько информации, сколько возможно. Самый простой сделать это — использовать сторонние сервисы, которые собирают эту информацию автоматически. Вы можете почитать о том, как это сделать, в разделе «Сбор отчётов об ошибках».

Ошибки без оповещения

Многие задачи выгружаются в Celery для фоновой обработки. Их падения в пользовательском интерфейсе не отображаются, а появляются только в журналах Celery. Настройка сбора ошибок поможет вам легче замечать такие сбои.

Проблемы с производительностью

Если в каких-то ситуациях Weblate показывает недостаточную производительность, то соберите журналы, которые демонстрируют проблему, а также всё, что поможет выяснить, как и в каком месте можно улучшить код.

Если некоторые запросы выполняются слишком долго без какой-либо индикации, то вы можете установить dogslow и использовать его вместе со сбором отчётов об ошибках, что позволит получить точечные и подробные трассировки стеков вызова (traceback) в этих отчётах.