Журнал из 144 строк: 143 ответа 200, p95 — 2822 мс, три страницы медленнее трёх секунд

Разбор командой и перепроверка кодом: коды, время, вес и самые медленные адреса.

Что это

Агент достаёт из журнала факт, а не «в логах что-то есть»

Журнал — это тысячи строк; цена ошибки — неверный вывод о причине. Агент делает срез командой, перепроверяет тот же срез кодом и только потом говорит: «три адреса отвечали дольше трёх секунд, вот их строки, причина — первый запрос сессии, а не данные».

Вход и выход

Что снято и разобрано в этой сессии, а что подключим

Вход

Журнал обращений, записанный прогоном: 144 строки, дата, адрес, код, размер, время.

  • Разбор командой — работает

    awk и sort по коду и времени; ответ 143×200 и 1×404 получен независимо от Python.

  • Перепроверка кодом — работает

    Среднее 492 мс, медиана 181, p95 2822, максимум 3328 — совпало с командой.

  • Вес — измерен

    Самая тяжёлая страница 90 КБ, самая лёгкая из проверенных 31 КБ.

  • Grafana и Logcat — подключим

    Доступ к панели и устройству: логи приложения на телефоне, ключ и стенд, два дня.

Что открывается: сводка, медленные и команды

Журнал — из фактического прогона 09.11.2026; команды приведены целиком

  1. 1

    Сводка по журналу

    Строк, коды, среднее, медиана, p95, максимум — и то же самое командой.

  2. 2

    Самые медленные

    Пять адресов и их время: где инфраструктура, а где действительно страница.

  3. 3

    Команды разбора

    awk, sort, проверка на Python и вывод, который получился.

Что агент делает и что остаётся человеку

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

Сценарий: от файла до вывода

  1. 1

    Доступ

    Файл журнала или SSH с правом чтения журналов приложения.

  2. 2

    Формат

    Агент разбирает строки: время, адрес, код, размер, длительность.

  3. 3

    Срез

    awk и sort: коды, самые медленные, самые тяжёлые ответы.

  4. 4

    Перепроверка

    Тот же срез на Python: числа должны совпасть.

  5. 5

    Причина

    Гипотеза проверяется на данных: первый запрос, пик нагрузки или дефект.

  6. 6

    Выход

    Сводка и строки-доказательства; вывод — словами, с числами.

Откуда данные

Что нужно на входе

  • Журнал приложения

    Файл или доступ на чтение: строки с временем, кодом и длительностью.

  • Доступ к серверу

    SSH с правом чтения журналов; записи не меняются.

  • Панель мониторинга

    Если есть Grafana или аналог — по ключу, чтобы видеть графики, а не только строки.

  • Устройство

    Для мобильного приложения — Logcat с телефона или сбор логов на стенде.

Норма, на которую опирается работа

Краевые случаи

Где решает человек, а не агент

  • Журнал в бинарном виде

    Агент не угадывает формат: просит выгрузку в текст или доступ к панели.

  • Записей слишком много

    Агент берёт окно по времени и говорит, какое именно, вместо «обработал всё».

  • В журнале персональные данные

    Агент агрегирует и обезличивает; выгрузка строк — только по решению владельца.

  • Причина вне приложения

    Сеть, DNS, балансировщик — агент показывает факт и зовёт инфраструктуру.

Что обычно возражают

  • «В логах всё видно и так»

    Видно, если знать, где смотреть: срез по коду и p95 экономит час.

  • «Среднее время у нас нормальное»

    Среднее 492 мс при p95 2822 — это и есть ответ, почему «иногда тормозит».

  • «Кто даст SSH?»

    Достаточно файла журнала: результат тот же, доступов меньше.

  • «Это работа DevOps»

    Разбор дефекта — работа тестировщика; DevOps чинит инфраструктуру по факту.

  • «Почему три секунды — дефект?»

    Это наблюдение, а не дефект: в отчёте написано, что причина — первый запрос сессии.

Границы

Чего агент не делает

Не угадывает формат журнала и не выдумывает отсутствующие записи. Не выгружает персональные данные из журнала (152-ФЗ) и не следит за сотрудниками (ТК РФ, ст. 86–88). Не объявляет причину, пока не проверил её на данных. Не пишет «в логах ошибок нет», если журнал не читался. Гарантий нет — ст. 5 ФЗ-38.

Вопросы, которые задают первыми

С чего начать?

Пришлите файл журнала за час — вернём срез по кодам, p95 и самые медленные строки.

Что нужно от нас?

Файл журнала или SSH на чтение журналов. Для мобильного — сбор логов со стенда.

Сколько это занимает?

Разбор 144 строк — секунды; большие окна режутся по времени.

Чем подтверждён вывод?

Двумя способами: командой и кодом, числа должны совпасть — в отчёте оба.

Это заменит мониторинг?

Нет: мониторинг показывает график, агент отвечает на вопрос «почему именно этот адрес».

Роль целиком

Что ещё берёт на себя агент

Роли

Разобрать журнал одного инцидента

Пришлите журнал за нужный час — вернём срез по кодам, p95 и строки-доказательства.