On 07/10/2010, at 6:41 AM, Steve Appling wrote:

> On Oct 6, 2010, at 1:15 PM, Etienne Studer wrote:
> 
>> Maybe have some configuration options to highlight all tasks that take more 
>> than n seconds to run. And another flag to sort the tasks by execution time 
>> over all modules rather than per module.
>> 
>> Etienne
>> 
>> 
>> Etienne Studer
>> Senior Software Developer
>> 
>> Canoo Engineering AG
>> Kirschgartenstrasse 5
>> CH-4051 Basel
>> 
>> T +41 61 228 94 44
>> F +41 61 228 94 49
>> 
>> [email protected]
>> www.canoo.com
> 
> 
> It's in gradle head now if you want to try it.
> I think that a sorted list of all tasks by execution time (over all projects) 
> is also a good idea.


Some other things that might be interesting to instrument:

* The time taken to resolve a configuration. As we've discovered, this can 
potentially be a big contributor to build time.

* The time taken for each test. It's not unusual for individual tests to 
contribute more to build time than many of the tasks.

It might be a good thing to unify the profiling instrumentation and the 
progress logging. Here's why:

* If an operation is important enough that its progress needs to be logged, 
then it's potentially a long running operation and worth profiling. And 
conversely, if an operation is worth profiling, it's probably worth letting the 
user know about as it's running.

* We'd have a single API which any code could use to demarcate potentially 
long-running operations. This would be available to plugin and task authors to 
extend the profiling. The information about the operation can end up on the 
console and in the profiling report. There'd probably be some kind of 
filtering, so that operations are only shown in the progress output or in the 
profiling report if they exceed a certain time threshold.

* Any history which we collect about an operation would be available to both 
the progress logging and the profile reporting. For example, the progress 
logging might give an estimate of how long the operation is expected to take. 
And the profile report might report on trends on execution time.


--
Adam Murdoch
Gradle Developer
http://www.gradle.org
CTO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz

Reply via email to