Перейти к основному содержимому

Ошибки

Qubix записывает ошибки, которые возникают на страницах вашей витрины PWA, когда их открывают посетители, — не отработавший скрипт, не загрузившаяся иконка и тому подобное. Сбор этих ошибок помогает заметить сломанное приложение до того, как оно потратит трафик впустую.

Отдельного экрана пока нет

Отдельная вкладка Ошибки внутри карточки приложения — со списком ошибок, где одинаковые сгруппированы и показан счётчик повторов, — запланирована, но пока не сделана. Сейчас ошибки доступны только через запрос к базе — он описан ниже. В интерфейсе они пока не показываются.

Где хранятся ошибки

Ошибки собираются в одну таблицу — pwa_errors. Каждая строка — это одна ошибка, сработавшая на странице витрины; строки хранятся 90 дней. Поля, которые понадобятся чаще всего:

ПолеЧто содержит
typeВид ошибки — например, ошибка скрипта или не загрузившийся ресурс.
messageТекст ошибки.
event_timeКогда ошибка произошла.
geoСтрана посетителя.
deviceОписание устройства посетителя.

Для более глубокого разбора есть и другие колонки: domain (точка входа, через которую пришёл посетитель), piuid (идентификатор посетителя), ip, ua (строка браузера, user-agent), stack (технический след ошибки) и context (дополнительные подробности о том, где она сработала).

Как их посмотреть

Проще всего — спросить встроенного ИИ-помощника, панель которого доступна на каждом экране админки. Он умеет выполнять запросы к базе только на чтение, поэтому обычная просьба вроде «покажи ошибки этой PWA за последние сутки» вернёт список без единой строчки запроса с вашей стороны. См. Чат ИИ-аналитика.

Тот же метод запроса на чтение доступен и внешнему клиенту по MCP (см. MCP/API), а для администратора с прямым доступом к базе — как обычный запрос. Каким бы путём вы ни пользовались, вы всегда видите ошибки только тех приложений, которые вам разрешено видеть: байер — свои приложения, администратор — все.

Как узнать идентификатор приложения

Для запросов ниже нужен идентификатор приложения. Откройте карточку приложения и скопируйте идентификатор из адресной строки: карточка открывается по адресу вида .../#/pwa/APP_ID, где APP_ID — значение вроде 01f77c11-ed56-4555-857e-46f380593d5d.

Пример: недавние ошибки одного приложения

SQL
SELECT event_time, type, message, geo, device, domain
FROM pwa_errors
WHERE pwa_id = 'APP_ID'
AND event_time > now() - INTERVAL 24 HOUR
ORDER BY event_time DESC

Пример: те же ошибки с группировкой и счётчиком повторов

Так будет выглядеть и будущая вкладка — одинаковые ошибки сведены вместе, с числом повторов и временем последнего появления:

SQL
SELECT type, message, count() AS hits, max(event_time) AS last_seen
FROM pwa_errors
WHERE pwa_id = 'APP_ID'
AND event_time > now() - INTERVAL 7 DAY
GROUP BY type, message
ORDER BY hits DESC

Что дальше