moved all utils to a util folder

This commit is contained in:
soulgalore 2014-10-05 20:44:40 +02:00
parent a490dd6a0b
commit c06451211c
26 changed files with 101 additions and 102 deletions

View File

@ -5,7 +5,7 @@
* Released under the Apache 2.0 License
*/
var Stats = require('fast-stats').Stats;
var util = require('./util');
var util = require('./util/util');
/**
* Create a aggregator that collects and aggregates statistics from web pages.
@ -43,4 +43,4 @@ Aggregator.prototype.clear = function() {
this.stats.reset();
};
module.exports = Aggregator;
module.exports = Aggregator;

View File

@ -5,31 +5,30 @@
* Released under the Apache 2.0 License
*/
var Stats = require('fast-stats').Stats;
var util = require('../../util');
var util = require('../../util/util');
var timeMetrics = {};
exports.processPage = function(pageData) {
if (pageData.browsertime) {
pageData.browsertime.forEach(function(runPerBrowser) {
var browser = runPerBrowser.pageData.browserName;
browser = browser.charAt(0).toUpperCase() + browser.slice(1);
runPerBrowser.timingRuns.forEach(function(run) {
run.measurements.forEach(function(metric) {
if (timeMetrics.hasOwnProperty(metric.name)) {
timeMetrics[metric.name].push(Number(metric.duration));
}
else {
timeMetrics[metric.name] = new Stats().push(Number(metric.duration));
}
if (timeMetrics.hasOwnProperty(metric.name + browser)) {
timeMetrics[metric.name + browser].push(Number(metric.duration));
} else {
timeMetrics[metric.name + browser] = new Stats().push(Number(metric.duration));
}
var browser = runPerBrowser.pageData.browserName;
browser = browser.charAt(0).toUpperCase() + browser.slice(1);
runPerBrowser.timingRuns.forEach(function(run) {
run.measurements.forEach(function(metric) {
if (timeMetrics.hasOwnProperty(metric.name)) {
timeMetrics[metric.name].push(Number(metric.duration));
} else {
timeMetrics[metric.name] = new Stats().push(Number(metric.duration));
}
if (timeMetrics.hasOwnProperty(metric.name + browser)) {
timeMetrics[metric.name + browser].push(Number(metric.duration));
} else {
timeMetrics[metric.name + browser] = new Stats().push(Number(metric.duration));
}
});
});
});
});
}
};
@ -42,7 +41,7 @@ exports.generateResults = function() {
result.push({
id: keys[i],
title: keys[i],
desc: util.timingMetricsDefinition[keys[i]]||'User Timing API metric',
desc: util.timingMetricsDefinition[keys[i]] || 'User Timing API metric',
stats: util.getStatisticsObject(timeMetrics[keys[i]], 0),
unit: 'milliseconds'
});
@ -53,4 +52,4 @@ exports.generateResults = function() {
exports.clear = function() {
timeMetrics = {};
};
};

View File

@ -5,7 +5,7 @@
* Released under the Apache 2.0 License
*/
var Stats = require('fast-stats').Stats;
var util = require('../../util');
var util = require('../../util/util');
var timeMetrics = {};
var descriptions = {};
@ -48,7 +48,7 @@ exports.generateResults = function() {
for (var i = 0; i < keys.length; i++) {
result.push({
id: 'har.' + keys[i],
title: keys[i] + ' time' ,
title: keys[i] + ' time',
desc: descriptions[keys[i]],
stats: util.getStatisticsObject(timeMetrics[keys[i]], 0),
unit: 'milliseconds'
@ -60,4 +60,4 @@ exports.generateResults = function() {
exports.clear = function() {
timeMetrics = {};
};
};

View File

@ -5,7 +5,7 @@
* Released under the Apache 2.0 License
*/
var Stats = require('fast-stats').Stats;
var util = require('../../util');
var util = require('../../util/util');
var timeMetrics = {};
exports.processPage = function(pageData) {
@ -14,25 +14,25 @@ exports.processPage = function(pageData) {
pageData.phantomjs.runs.forEach(function(run) {
// The Navigation timing API
Object.keys(run.timings).forEach(function(metric) {
if (timeMetrics.hasOwnProperty(metric+'PhantomJS')) {
timeMetrics[metric+'PhantomJS'].push(Number(run.timings[metric]));
} else {
timeMetrics[metric+'PhantomJS'] = new Stats().push(Number(run.timings[metric]));
}
});
// handle User Timing API
if (run.userTimings.marks) {
run.userTimings.marks.forEach(function(mark) {
if (timeMetrics.hasOwnProperty(mark.name+'PhantomJS')) {
timeMetrics[mark.name+'PhantomJS'].push(Number(mark.startTime));
// The Navigation timing API
Object.keys(run.timings).forEach(function(metric) {
if (timeMetrics.hasOwnProperty(metric + 'PhantomJS')) {
timeMetrics[metric + 'PhantomJS'].push(Number(run.timings[metric]));
} else {
timeMetrics[mark.name+'PhantomJS'] = new Stats().push(Number(mark.startTime));
timeMetrics[metric + 'PhantomJS'] = new Stats().push(Number(run.timings[metric]));
}
});
}
// handle User Timing API
if (run.userTimings.marks) {
run.userTimings.marks.forEach(function(mark) {
if (timeMetrics.hasOwnProperty(mark.name + 'PhantomJS')) {
timeMetrics[mark.name + 'PhantomJS'].push(Number(mark.startTime));
} else {
timeMetrics[mark.name + 'PhantomJS'] = new Stats().push(Number(mark.startTime));
}
});
}
});
@ -63,4 +63,4 @@ exports.generateResults = function() {
exports.clear = function() {
timeMetrics = {};
};
};

View File

@ -4,7 +4,7 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('../../yslowUtil');
var util = require('../../util/yslowUtil');
var Aggregator = require('../../aggregator');
module.exports = new Aggregator('cacheTime', 'Cache Time',

View File

@ -4,7 +4,7 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('../../yslowUtil');
var util = require('../../util/yslowUtil');
var Aggregator = require('../../aggregator');
module.exports = new Aggregator('maxRequestsPerHost', 'Max requests per domain',

View File

@ -4,7 +4,7 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('../../yslowUtil');
var util = require('../../util/yslowUtil');
var Aggregator = require('../../aggregator');
module.exports = new Aggregator('numberOfDomains', 'Number Of Domains',

View File

@ -4,7 +4,7 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('../../yslowUtil');
var util = require('../../util/yslowUtil');
var Aggregator = require('../../aggregator');
module.exports = new Aggregator('pageWeight',

View File

@ -4,7 +4,7 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('../../yslowUtil');
var util = require('../../util/yslowUtil');
var Aggregator = require('../../aggregator');
module.exports = new Aggregator('requestsWithoutExpires',

View File

@ -4,7 +4,7 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('../../yslowUtil');
var util = require('../../util/yslowUtil');
var Aggregator = require('../../aggregator');
module.exports = new Aggregator('singleDomainRequests', 'Domains with only one request',

View File

@ -4,7 +4,7 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('../../yslowUtil');
var util = require('../../util/yslowUtil');
var Aggregator = require('../../aggregator');
module.exports = new Aggregator('timeSinceLastMod',

View File

@ -5,7 +5,7 @@
* Released under the Apache 2.0 License
*/
var util = require('../util'),
var util = require('../util/util'),
fs = require('fs-extra'),
spawn = require('cross-spawn'),
path = require('path'),

View File

@ -6,7 +6,7 @@
*/
var path = require('path'),
util = require('../util'),
util = require('../util/util'),
fs = require('fs'),
pagespeed = require('gpagespeed'),
log = require('winston'),
@ -92,12 +92,11 @@ function analyzeUrl(args, asyncDoneCallback) {
log.log('error', 'GPSI couldnt store file for url ' + url + '(' +
err + ')');
asyncDoneCallback(undefined, err);
}
else {
} else {
asyncDoneCallback(result, undefined);
}
});
}
});
}
}

View File

@ -7,7 +7,7 @@
var path = require('path'),
childProcess = require('child_process'),
binPath = require('phantomjs').path,
util = require('../util'),
util = require('../util/util'),
fs = require('fs'),
log = require('winston'),
Timing = require('../phantomJSTiming'),
@ -28,32 +28,31 @@ module.exports = {
'errors': {}
});
} else {
var queue = async.queue(phantomjs, 1);
} else {
var queue = async.queue(phantomjs, 1);
var errors = {};
var pageData = {};
urls.forEach(function(u) {
for (var i = 0; i < config.no; i++) {
queue.push({
'url': u,
'config': config
}, function(data, err) {
if (err) {
errors[u] = err;
} else {
if (pageData[u]) {
pageData[u].add(data);
}
else {
var t = new Timing();
t.add(data);
pageData[u] = t;
}
}
});
}
});
var errors = {};
var pageData = {};
urls.forEach(function(u) {
for (var i = 0; i < config.no; i++) {
queue.push({
'url': u,
'config': config
}, function(data, err) {
if (err) {
errors[u] = err;
} else {
if (pageData[u]) {
pageData[u].add(data);
} else {
var t = new Timing();
t.add(data);
pageData[u] = t;
}
}
});
}
});
queue.drain = function() {
callback(undefined, {
@ -78,7 +77,7 @@ function phantomjs(args, asyncDoneCallback) {
var childArgs = ['--ssl-protocol=any', '--ignore-ssl-errors=yes'];
//
childArgs.push(path.join(__dirname, '..', 'phantomjs','collectTimings.js'));
childArgs.push(path.join(__dirname, '..', 'phantomjs', 'collectTimings.js'));
childArgs.push(url);
childArgs.push(path.join(config.run.absResultDir, config.dataDir, 'phantomjs', util.getFileName(url) +
@ -122,8 +121,9 @@ function phantomjs(args, asyncDoneCallback) {
} else {
var phantomData = JSON.parse(data);
asyncDoneCallback(phantomData, err);
}
});
asyncDoneCallback(phantomData, err);
}
});
}
});}
});
}

View File

@ -7,7 +7,7 @@
var path = require('path'),
childProcess = require('child_process'),
binPath = require('phantomjs').path,
util = require('../util'),
util = require('../util/util'),
fs = require('fs'),
log = require('winston'),
async = require('async');
@ -65,7 +65,7 @@ function screenshot(args, asyncDoneCallback) {
var childArgs = ['--ssl-protocol=any', '--ignore-ssl-errors=yes'];
//
childArgs.push(path.join(__dirname, '..','phantomjs', 'screenshot.js'));
childArgs.push(path.join(__dirname, '..', 'phantomjs', 'screenshot.js'));
childArgs.push(url);
childArgs.push(path.join(config.run.absResultDir, config.dataDir, 'screenshots', util.getFileName(url) +
@ -104,4 +104,4 @@ function screenshot(args, asyncDoneCallback) {
asyncDoneCallback(undefined, err);
}
});
}
}

View File

@ -6,7 +6,7 @@
*/
var path = require('path'),
util = require('../util'),
util = require('../util/util'),
fs = require('fs'),
WebPageTest = require('webpagetest'),
log = require('winston'),

View File

@ -7,7 +7,7 @@
var path = require('path'),
childProcess = require('child_process'),
binPath = require('phantomjs').path,
util = require('../util'),
util = require('../util/util'),
fs = require('fs'),
log = require('winston'),
async = require('async');
@ -60,6 +60,7 @@ module.exports = {
});
}
};
function analyzeUrl(args, asyncDoneCallback) {
var url = args.url;
var config = args.config;
@ -70,7 +71,7 @@ function analyzeUrl(args, asyncDoneCallback) {
if (config.proxy) {
childArgs.push('--proxy', config.urlProxyObject.host, '--proxy-type',
config.urlProxyObject.protocol);
}
}
// arguments to YSlow
childArgs.push(path.join(__dirname, '..', config.yslow), '-d', '-r', config.ruleSet,
@ -136,4 +137,4 @@ function analyzeUrl(args, asyncDoneCallback) {
});
}
});
}
}

View File

@ -5,8 +5,8 @@
* Released under the Apache 2.0 License
*/
var util = require('../util'),
yslowUtil = require('../yslowUtil'),
var util = require('../util/util'),
yslowUtil = require('../util/yslowUtil'),
assets = {};
exports.processPage = function(pageData) {

View File

@ -5,7 +5,7 @@
* Released under the Apache 2.0 License
*/
var util = require('../util'),
var util = require('../util/util'),
domains = {},
DomainTiming = require('../domainTiming'),
log = require('winston');

View File

@ -4,8 +4,8 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('../util'),
yslowUtil = require('../yslowUtil')
var util = require('../util/util'),
yslowUtil = require('../util/yslowUtil')
var pages = [];
var isDoc = function(comp) {

View File

@ -4,7 +4,7 @@
* and other contributors
* Released under the Apache 2.0 License
*/
var util = require('./util'),
var util = require('./util/util'),
log = require('winston'),
net = require('net');

View File

@ -8,11 +8,11 @@ var hb = require('handlebars'),
fs = require('fs-extra'),
path = require('path'),
log = require('winston'),
helpers = require('./hb-helpers'),
helpers = require('./util/hbHelpers'),
columnsMetaData = require('../conf/columnsMetaData.json'),
async = require('async'),
ySlowUtil = require('./yslowUtil'),
util = require('./util');
ySlowUtil = require('./util/yslowUtil'),
util = require('./util/util');
var compiledTemplates = {},
compiledPartials = {},

View File

@ -5,7 +5,7 @@
* Released under the Apache 2.0 License
*/
var Stats = require('fast-stats').Stats;
var util = require('./util');
var util = require('./util/util');
var timeMetrics = ['domainLookupTime', 'redirectionTime', 'serverConnectionTime', 'serverResponseTime',
'pageDownloadTime', 'domInteractiveTime', 'domContentLoadedTime', 'pageLoadTime', 'frontEndTime', 'backEndTime'
];