moved printing perfbudget to cli

This commit is contained in:
soulgalore 2015-02-06 09:09:33 +01:00
parent 5c0fd47119
commit 7c106e1d89
2 changed files with 42 additions and 27 deletions

View File

@ -10,23 +10,48 @@
/*eslint no-process-exit:0*/
var Sitespeed = require('../lib/sitespeed'),
config = require('../lib/cli'),
winston = require('winston');
config = require('../lib/cli'),
winston = require('winston');
var sitespeed = new Sitespeed();
require('whereis')('java', function searched(err) {
// yep, we still need Java for the crawler & browsertime
if (err) {
winston.loggers.get('sitespeed.io').error(
'Could not find Java, make sure it is installed in your $PATH');
process.exit(1);
} else {
sitespeed.run(config, function(error) {
if (error) {
winston.loggers.get('sitespeed.io').error(error);
process.exit(1);
}
});
}
// yep, we still need Java for the crawler & browsertime
if (err) {
winston.loggers.get('sitespeed.io').error(
'Could not find Java, make sure it is installed in your $PATH');
process.exit(1);
} else {
sitespeed.run(config, function(error, data) {
if (error) {
winston.loggers.get('sitespeed.io').error(error);
process.exit(1);
}
// do we have a budget?
if (data && data.budget) {
var isFailing = false;
// loop through the result and log
data.budget.forEach(function(result) {
if (result.skipped) {
winston.loggers.get('sitespeed.io').info('Skipping ' + result.title + ' ' + result.url + ' ' + ' value [' +
result.value + ']');
} else if (result.isOk) {
winston.loggers.get('sitespeed.io').info('The budget for ' + result.title + ' ' + result.url + ' passed [' +
result.value +
']');
} else {
isFailing = true;
winston.loggers.get('sitespeed.io').error('The budget for ' + result.title + ' ' + result.url + ' failed. ' +
result.description);
}
});
if (isFailing) {
process.exit(1);
}
}
});
}
});

View File

@ -102,7 +102,7 @@ TestRenderer.prototype._page = function(url, pageData) {
results.push(self._getResult(asset + ' requests',
url,
value < self.budget.page[budget],
'The number of ' + asset + ' requests + ' + value + ' the limit is ' + self.budget.page[budget],
'The number of ' + asset + ' requests ' + value + ' the limit is ' + self.budget.page[budget],
value,
'page'));
@ -195,7 +195,7 @@ TestRenderer.prototype._headlessTimings = function(url, pageData) {
result.title = timing + ' using ' + self.config.headless;
result.url = url;
result.isOk = stat.stats.median < self.budget.timings[timing];
result.description = 'the ' + timing + ' is ' +
result.description = 'the ' + timing + ' is ' +
stat.stats.median + ' threshold:' + self.budget.timings[timing];
@ -322,17 +322,7 @@ TestRenderer.prototype.render = function(cb) {
self.config.budgetResult = [];
self.results.forEach(function(result) {
self.config.budgetResult.push(result);
// loop through the result and log
if (result.isOk) {
self.log.log('info', 'The budget for ' + result.title + ' ' + result.url + ' ' + ' passed (' + result.value +
')');
} else {
self.log.log('info', 'The budget for ' + result.title + ' ' + result.url + ' ' + ' failed (' + result.value +
') ' + result.description);
}
});
callback();