Machine Metrics for Xcode and Gradle Builds
Hey everyone ![]()
Ever wondered why a build is slow? Low CPU or network usage in a slow build usually means the build isn’t parallelized enough. But that kind of data, correlated with your actual build, is something most teams don’t have access to.
Well, now you do. We just shipped Machine Metrics with CPU, memory, network, and disk I/O charts right on your build run page. And it works for both Xcode and Gradle, local and CI builds.
Here’s an example of how this look in practice:
How it looks
Each build run page now includes a Machine Metrics card with four charts:
- CPU usage over time
- Memory consumption vs. total available
- Network I/O (in/out throughput)
- Disk I/O (read/write throughput)
Setup
For Gradle builds, all you need to do is to update the Gradle plugin.
To track machine metrics for your Xcode builds, all you need is a single command:
tuist setup insights
This starts a lightweight background daemon that samples machine metrics during builds. The data is automatically picked up by tuist inspect build and uploaded alongside your build reports.
Full details in the docs:
What’s next
We plan to make two additions in the future that will make machine metrics even more useful:
- track the data for the build process specifically, especially useful for analytics of local builds where your CPU or network might be busy with other tasks
- include a build timeline with your modules and tasks, so you can better spot a bottleneck, such as when a single module is taking a long time to build, while the network or CPU is not being used much.
As always, let us know what you think ![]()
