Add server-side latency (vfs -> docker host)

pull/39/head^2
Lennart Kats 2015-02-28 10:18:45 +01:00
rodzic aa36c77fac
commit 6f197414c3
2 zmienionych plików z 25 dodań i 2 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.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

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