SELECT id, ts,
LEAD(ts) OVER (ORDER BY ts) AS next_ts
FROM events;
SELECT user_id, COUNT(*) AS errors
FROM logs
WHERE level = 'ERROR'
AND ts >= NOW() - INTERVAL '3 DAY'
GROUP BY user_id
HAVING COUNT(*) > (
SELECT AVG(cnt)
FROM (
SELECT user_id, COUNT(*) AS cnt
FROM logs
WHERE level = 'ERROR'
GROUP BY user_id
) t
);
Словарь тестировщика | Тестирование
SELECT user_id, COUNT(*) AS errors FROM logs WHERE level = 'ERROR' AND ts >= NOW() - INTERVAL '3 DAY' GROUP BY user_id HAVING COUNT(*) > ( SELECT AVG(cnt) FROM ( SELECT user_id, COUNT(*) AS cnt FROM logs WHERE level = 'ERROR' GROUP BY…
Что делает этот запрос?
Anonymous Quiz
21%
Считает все ошибки
5%
Фильтрует WARN-сообщения
5%
Проверяет структуру таблицы
1%
Удаляет старые записи
69%
Находит юзеров с аномальным числом ошибок
👍2✍1
И немного про логи 😋
В Kibana дашборд показывает пик 5xx ошибок в 13:05. Что QA должен сделать первым?
В Kibana дашборд показывает пик 5xx ошибок в 13:05. Что QA должен сделать первым?
Anonymous Quiz
4%
Перезапустить Grafana
86%
Фильтровать логи за 13:00–13:10
5%
Изменить временную зону
4%
Обновить токен API
2%
Очистить индекс
🥰3
В логах разных сервисов встречается одно и то же поле trace_id. Зачем оно нужно?
Anonymous Quiz
4%
Для авторизации AP
2%
Для кеширования ответов
12%
Для фильтрации по уровню
3%
Для сортировки по дате
79%
Для связи логов одного запроса
В распределённой системе лог запроса начинается в auth, потом billing, потом email. Где искать сбой, если email не отправлен?
Anonymous Quiz
14%
В auth
22%
В billing
18%
В email
11%
В API gateway
34%
В очереди логов
🥰2
В gateway → auth → profile → email отсутствует email. Что вероятно?
Anonymous Quiz
12%
Таймаут gateway
1%
Дубликат запроса
19%
Потеря trace_id
23%
Ошибка в профиле
44%
Сбой вызова email-сервиса
Что должен проверить тестировщик, если trace_id один, а время завершения разное в двух сервисах?
Anonymous Quiz
55%
Разницу часовых поясов
6%
Ошибку БД
12%
Формат метрик
5%
Ошибку кеша
22%
Потерю соединения
{service="auth"} |= "timeout" | json | line_format "{{.user_id}}"[GATEWAY] → 2025-10-26 12:10:05 → Request /api/payments
[AUTH] → 2025-10-26 12:10:05 → Token verified
[BILLING] → 2025-10-26 12:10:06 → ERROR: Connection refused
[EMAIL] → 2025-10-26 12:10:07 → Skipped notification (billing failed)