Алексей Балехов — Как навести порядок в логировании продуктовых событий

Описание к видео Алексей Балехов — Как навести порядок в логировании продуктовых событий

Подробнее о конференции SmartData: https://jrg.su/aTWU2K
— —
Скачать презентацию с сайта SmartData — https://jrg.su/KZSTIw

В Окко 4 фронтенда, разрабатываемых независимыми командами. Каждый отправляет 20 типов событий. Ни один не делает это так, как хотели аналитики. Где-то поле не заполнили, где-то не так обозвали, где-то число отправили в виде строки. При работе с данными расхождения всплывают постепенно и копятся в виде десятков незакрытых тикетов. Документация — ненадежный источник истины, так как полностью завязан на человеческий фактор. Поэтому разработали формальное описание (схему) событий, которые должны логироваться. На основе этого описания сгенерировали модели событий для каждой платформы (TypeScript/Kotlin/Swift), документацию и DDL для Impala и ClickHouse. Из этого сразу всплыли все расхождения в именах и типах полей. Потом в схемы добавили более сложные описания: enum, вложенные объекты, зависимости между полями. Таким образом получили больше гарантий, что клиенты логируют все правильно. На базе этого смогли переработать и упростить сами события. 16 различных типов событий свели к единому универсальному. Покрытие новых фичей логами перестало требовать проработки аналитиками и долгой реализации на клиентах.

Комментарии

Информация по комментариям в разработке