Add view request duration to Futon
Closes COUCHDB-509
diff --git a/jquery.couch.js b/jquery.couch.js
index 744a78a..eecd359 100644
--- a/jquery.couch.js
+++ b/jquery.couch.js
@@ -1005,7 +1005,7 @@
* @private
*/
function ajax(obj, options, errorMessage, ajaxOptions) {
-
+ var timeStart;
var defaultAjaxOpts = {
contentType: "application/json",
headers:{"Accept": "application/json"}
@@ -1014,6 +1014,7 @@
options = $.extend({successStatus: 200}, options);
ajaxOptions = $.extend(defaultAjaxOpts, ajaxOptions);
errorMessage = errorMessage || "Unknown error";
+ timeStart = (new Date()).getTime();
$.ajax($.extend($.extend({
type: "GET", dataType: "json", cache : !$.browser.msie,
beforeSend: function(xhr){
@@ -1024,6 +1025,7 @@
}
},
complete: function(req) {
+ var reqDuration = (new Date()).getTime() - timeStart;
try {
var resp = $.parseJSON(req.responseText);
} catch(e) {
@@ -1038,11 +1040,12 @@
options.ajaxStart(resp);
}
if (req.status == options.successStatus) {
- if (options.beforeSuccess) options.beforeSuccess(req, resp);
- if (options.success) options.success(resp);
+ if (options.beforeSuccess) options.beforeSuccess(req, resp, reqDuration);
+ if (options.success) options.success(resp, reqDuration);
} else if (options.error) {
options.error(req.status, resp && resp.error ||
- errorMessage, resp && resp.reason || "no response");
+ errorMessage, resp && resp.reason || "no response",
+ reqDuration);
} else {
alert(errorMessage + ": " + resp.reason);
}