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