Доклад

Дашборд, которому можно верить: очередной рассказ об ускорении сборок

Презентация pdf

tc-mono — монорепо на 2 млн+ строк кода (Kotlin, Swift, Java): 490+ Gradle-модулей, растущие на ~30 тысяч строк в неделю.

Мы собрали конвейер метрик на основе внутреннего Gradle-плагина: плагин → ClickHouse → Grafana. Первые же графики показали неожиданную картину. Правда, поначалу дашбордам нельзя было верить:

— один разработчик со своим окружением, которое спамило сборками, выдавал «ускорение века»;

— дубли от ретраев сдвигали p95 на четверть, причем в обе стороны;

— эффект любого фикса проявлялся только через неделю, пока все не подтянут свежий develop.

Когда графики научились говорить правду, выяснилось три вещи:

— Configuration Cache почти не работал для сборок монорепо из корня: примерно 2% попаданий против примерно 67% у того же таргета, собранного отдельно.

— Самое дорогое время уходило не туда, куда мы думали. Больнее всего был не билд, а синк проекта в IDE.

— Заметная часть разработчиков сидела на develop недельной давности, и именно эти сборки составляли p95.

Расскажу, как мы выбирали и внедряли инструмент, как учились читать его показания и как каждая находка меняла то, что мы чинили дальше, и сколько всё это сэкономило компании.

Спикеры

Приглашенные эксперты

Расписание