Skip to content
Time the execution of each of your grunt tasks automatically
JavaScript
Latest commit 3274932 Feb 7, 2015 @leecrossley Update readme
Failed to load latest commit information.
tasks
.gitignore Usual starting gubblins Aug 20, 2013
.jshintrc jshint Aug 12, 2014
Gruntfile.js
README.md
grunt-timer.js
package.json

README.md

grunt-timer Dependency Status devDependency Status

grunt-timer.js times the duration of each of your grunt tasks automatically and outputs the execution time in milliseconds to the console after each task. It also logs the total time for all logged tasks at the end.

Getting started

Install grunt-timer

npm install grunt-timer ## --save-dev

Upgrade your Gruntfile.js

Add the grunt-timer reference to the very top of your Gruntfile.js:

var timer = require("grunt-timer");

Add the timer init call at the top of the module.exports function:

module.exports = function (grunt) {
    timer.init(grunt);

Example output

Running "run:500" (run) task
500ms task ran
Task 'run:500' took 502ms
All tasks took 502ms

Options

To use any option, pass an object parameter to your initialise function like so:

module.exports = function (grunt) {
    timer.init(grunt, { deferLogs: true, friendlyTime: true, color: "blue" });

deferLogs

If you'd prefer to see a summary of all your task timings at the end of the grunt process, enable this option.

This is useful for the case where you have many grunt tasks, or they generate a lot of output while they are running, and it might be tedious to scroll back through the console to find all the timing messages.

deferLogsAndWriteInLine

Behaves like deferLogs but will also do the default inline logging.

This is useful if you want the summary (deferLogs) but a build could timeout, which would means there could be no grunt timer logs.

friendlyTime

Enable this if you'd prefer to see the durations reported in a friendly hours/minutes/seconds format, instead of ms.

Task 'jshint:all' took 3 seconds

totalOnly

Enable this if you'd prefer to only see the time all tasks took to complete.

This is useful for having many small, insignificant tasks that would generate considerable output even with deferLogs.

All tasks took 502ms

color

If supplied, will override default purple for console output.

No color will be output if the grunt --no-color option is specified.

ignoreAlias

Array of task aliases to ignore. e.g to stop grunt-timer running with the default task:

module.exports = function (grunt) {
    timer.init(grunt, { ignoreAlias: ["default"] });

Notes

  • The last task duration is output after the "Done, without errors". This is due to the way the hooking for the task name change works.

License

MIT License

Something went wrong with that request. Please try again.