summaryrefslogtreecommitdiffstats
path: root/tasks/metrics.js
blob: b04967dd02a977bf8c808fb49579c9da89af8373 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var _ = require('underscore'),
    async = require('async'),
    metrics = require('../bench');

module.exports = function(grunt) {
  grunt.registerTask('metrics', function() {
    var done = this.async(),
        execName = grunt.option('name'),
        events = {};

    async.each(_.keys(metrics), function(name, complete) {
        if (/^_/.test(name) || (execName && name !== execName)) {
          return complete();
        }

        metrics[name](grunt, function(data) {
          events[name] = data;
          complete();
        });
      },
      done);
  });
};