I’ve been playing around with hooking in Gradle’s listeners to write out build information in Chromium’s Trace Event Format, as a way to investigate build performance. So far, the results look pretty promising, though there’s still a lot left to do. Here’s a sample from running gradlew quickCheck on the Gradle project, with parallel turned on - you can see how there’s a period o f time where everything’s waiting on :core:compileJava, for instance.
I’m hoping to get this to take advantage of flow events so I can get arrows showing relationship of which tasks are blocking which, but… we’ll see.
Just thought I’d share, in case anyone found it interesting.