DZone.com Feed на русском
Подписаться
За пределами скриншотов: создание воспроизводимых диагностических средств для трудновоспроизводимых ошибок в продакшене
Производственные ошибки часто поступают с недостаточным количеством доказательств. Скриншот фиксирует конечное визуальное состояние, отчет о сбое идентифицирует стек, вызывающий ошибку, а заявка в службу поддержки описывает, что, по-видимому, произошло. Ни один из них не объясняет надежно последовательность, которая привела к сбою. Современные приложения представляют собой асинхронные системы, управляемые навигацией, сетевыми ответами, функциональными флагами, фоновой работой, локальным сохранением данных и изменяющимся состоянием пользовательского интерфейса. Поэтому полезный отчет о производственной ошибке требует большего, чем финальный кадр. Ему нужна ограниченная, безопасная для конфиденциальности история выполнения, которая реконструирует путь, ведущий к сбою.Основой воспроизводимого отчета об ошибке является семантический поток событий. Непрерывная видеозапись является дорогостоящей, ее трудно искать, и она, вероятно, будет захватывать информацию, не относящуюся к диагностике. Структурированные события меньше и напрямую описывают значимые переходы. Изменения навигации, действия кнопок, мутации состояния, сетевые исходы, оценки функциональных флагов, переходы жизненного цикла и сбои сохранения данных могут использовать общую модель событий.