Gradle-сборка нашего большого КМП-проекта жутко тормозила: больше 20 минут IDE sync, 7 минут Android debug clean build. Миллион строк кода, 30 мобильщиков, таргеты Android и iOS, 98% переиспользование UI и логики (Compose Multiplatform).
Пробовали замерять оптимизации ручками, ударились о нестабильность окружения и гору ручной работы. Пробовали найти полноценное решение, чтобы мониторить здоровье сборки, — кроме Develocity «коробки» нет, а Develocity в России нельзя купить. Отдельные open-source инструменты решают только части проблемы. Статьи и доклады в интернете в основном про чистые Android-проекты, без привкуса KMP.
Пришлось разобраться и собрать Франкенштейна из open-source решений и самопала. Итог — MVP системы мониторинга здоровья сборки KMP проекта, которая закрывает потребность по правилу 20/80 и легко скейлится на любые проекты компании. Ключевые элементы:
- сбор живых метрик билдов с локальных машин разработчиков и CI — Talaiot + ClickHouse + Grafana;
- бенчмарк сборки для точечной оценки оптимизаций — Gradle-Profiler + кастомные скрипты интерпретации измерений;
- лайтовый профайлинг на основе данных из Talaiot, визуализация в Perfetto.
Все три инструмента составляют «святую троицу», только вместе дают мощную синергию.
Несмотря на то что проект KMP, — выгоднее всего фокуситься на мониторинге именно Android debug-сборки. Важно не забыть про IDE sync, однако измерять его крайне сложно — обсудим, как с этим жить. iOS-билд — последний по приоритету, однако тоже важно учесть.
Система уже себя оправдала, расскажу про реальные кейсы ценности, например:
- как вовремя предотвратили замедление сборки в 2-3 раза из-за нового антивируса;
- как продали руководству ценность задачи распила проекта пополам, благодаря чему ускорили сборку в два раза.
Дам практические рекомендации, как минимальными усилиями поднять аналогичный инструмент в рамках любого крупного проекта. Помогу понять, как продавать оптимизации сборки руководству.

