Шико Мстоян
X5 Tech
Если у вас есть билет, авторизуйтесь для просмотра видео
Войтиtc-mono — монорепо на 2 млн+ строк кода (Kotlin, Swift, Java): 490+ Gradle-модулей, растущие на ~30 тысяч строк в неделю.
Мы собрали конвейер метрик на основе внутреннего Gradle-плагина: плагин → ClickHouse → Grafana. Первые же графики показали неожиданную картину. Правда, поначалу дашбордам нельзя было верить:
— один разработчик со своим окружением, которое спамило сборками, выдавал «ускорение века»;
— дубли от ретраев сдвигали p95 на четверть, причем в обе стороны;
— эффект любого фикса проявлялся только через неделю, пока все не подтянут свежий develop.
Когда графики научились говорить правду, выяснилось три вещи:
— Configuration Cache почти не работал для сборок монорепо из корня: примерно 2% попаданий против примерно 67% у того же таргета, собранного отдельно.
— Самое дорогое время уходило не туда, куда мы думали. Больнее всего был не билд, а синк проекта в IDE.
— Заметная часть разработчиков сидела на develop недельной давности, и именно эти сборки составляли p95.
Расскажу, как мы выбирали и внедряли инструмент, как учились читать его показания и как каждая находка меняла то, что мы чинили дальше, и сколько всё это сэкономило компании.
X5 Tech
Uzum