kopia lustrzana https://github.com/c9/core
Merge pull request +6418 from c9/more-latency-data
Record more latency datapull/39/head^2
commit
8a8769a7f6
|
@ -323,10 +323,30 @@ function Worker(vfs) {
|
|||
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") {
|
||||
var callback = args[args.length - 1];
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue