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

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.ย. 2024
  • Ближайшая конференция - SmartData 2024, 4 сентября (online), 8-9 сентября, (Москва + трансляция).
    Подробности и билеты: jrg.su/KFFBS7
    - -
    Скачать презентацию с сайта SmartData - jrg.su/KZSTIw
    В Окко 4 фронтенда, разрабатываемых независимыми командами. Каждый отправляет 20 типов событий. Ни один не делает это так, как хотели аналитики. Где-то поле не заполнили, где-то не так обозвали, где-то число отправили в виде строки. При работе с данными расхождения всплывают постепенно и копятся в виде десятков незакрытых тикетов. Документация - ненадежный источник истины, так как полностью завязан на человеческий фактор. Поэтому разработали формальное описание (схему) событий, которые должны логироваться. На основе этого описания сгенерировали модели событий для каждой платформы (TypeScript/Kotlin/Swift), документацию и DDL для Impala и ClickHouse. Из этого сразу всплыли все расхождения в именах и типах полей. Потом в схемы добавили более сложные описания: enum, вложенные объекты, зависимости между полями. Таким образом получили больше гарантий, что клиенты логируют все правильно. На базе этого смогли переработать и упростить сами события. 16 различных типов событий свели к единому универсальному. Покрытие новых фичей логами перестало требовать проработки аналитиками и долгой реализации на клиентах.

ความคิดเห็น •