Merge pull request +6418 from c9/more-latency-data

Record more latency data
pull/39/head^2
Lennart Kats 2015-03-01 17:09:39 +01:00
commit 8a8769a7f6
3 zmienionych plików z 26 dodań i 3 usunięć

20
node_modules/vfs-socket/worker.js wygenerowano vendored
Wyświetl plik

@ -322,10 +322,30 @@ function Worker(vfs) {
delete watchers[id];
watcher.close();
}
/**
* Add additional timing info to any "ping" call.
*/
function wrapPingCall(name, fnName, args) {
if (name === "ping" && fnName === "ping" && args[0] === "serverTime" && args.length === 2) {
var start = Date.now();
var cb = args[1];
args[1] = function(err, payload) {
if (err) return cb(err);
cb(null, {
payload: payload,
serverTime: Date.now() - start
});
};
}
}
function call(name, fnName, args) {
var api = apis[name];
if (!api) return;
wrapPingCall(name, fnName, args);
// If the last arg is a function, assume it's a callback and process it.
if (typeof args[args.length - 1] == "function") {

Wyświetl plik

@ -1,6 +1,7 @@
module.exports = function(vfs, options, register) {
register(null, {
ping: function (payload, callback) {
// We simply return the payload, while vfs-socket adds a time stamp
callback(null, payload);
}
});

Wyświetl plik

@ -60,11 +60,13 @@ define(function(require, exports, module) {
if (!api) return callback(new Error("Client is offline"));
var start = Date.now();
api.ping("ping", function(err) {
var took = Date.now() - start;
api.ping("serverTime", function(err, response) {
if (err) return callback(err);
callback(null, took);
callback(null, {
serverTime: response.serverTime,
total: Date.now() - start
});
});
}