diff --git a/htrace-webapp/src/main/webapp/app/search_view.js b/htrace-webapp/src/main/webapp/app/search_view.js index 5936410..b5abd1f 100644 --- a/htrace-webapp/src/main/webapp/app/search_view.js +++ b/htrace-webapp/src/main/webapp/app/search_view.js @@ -80,9 +80,11 @@ htrace.SearchView = Backbone.View.extend({ return false; } } + var lim = Math.min(parseInt($("#search-lim").val()) || 20, 200); + $("#search-lim").val(lim.toString()); var queryJson = { pred: predicates, - lim: 20 + lim: lim }; // If there are existing search results, we want results which "come after" // those. So pass the last span we saw as a continuation token. diff --git a/htrace-webapp/src/main/webapp/app/span.js b/htrace-webapp/src/main/webapp/app/span.js index ca867ec..20944b9 100644 --- a/htrace-webapp/src/main/webapp/app/span.js +++ b/htrace-webapp/src/main/webapp/app/span.js @@ -219,18 +219,19 @@ htrace.Span = Backbone.Model.extend({ return rootDeferred.promise(); }, - reifyChildrenRecursive: function(depth) { + reifyChildrenRecursive: function(depth, lim) { var rootDeferred = jQuery.Deferred(); var span = this; - span.reifyChildren().done(function(err) { - if ((err != "") || (depth <= 0)) { + span.reifyChildren(lim).done(function(err) { + var reifiedChildren = span.get("reifiedChildren"); + lim = lim - reifiedChildren.length; + if ((err != "") || (depth <= 0) || (lim <= 0)) { rootDeferred.resolve(err); return; } var recursivePromises = []; - var reifiedChildren = span.get("reifiedChildren"); for (var j = 0; j < reifiedChildren.length; j++) { - recursivePromises.push(reifiedChildren[j].reifyChildrenRecursive(depth - 1)); + recursivePromises.push(reifiedChildren[j].reifyChildrenRecursive(depth - 1, lim)); } $.when.apply($, recursivePromises).then(function() { for (var i = 0; i < arguments.length; i++) { @@ -253,11 +254,11 @@ htrace.Span = Backbone.Model.extend({ // this span and stores them into reifiedChildren. The promise returns the // empty string on success, or an error string on failure. // - reifyChildren: function() { + reifyChildren: function(lim) { var rootDeferred = jQuery.Deferred(); var span = this; $.ajax({ - url: "span/" + span.get("spanId") + "/children?lim=50", + url: "span/" + span.get("spanId") + "/children?lim=" + lim.toString(), data: {}, contentType: "application/json; charset=utf-8", dataType: "json" @@ -288,8 +289,8 @@ htrace.Span = Backbone.Model.extend({ for (var j = 0; j < reifiedChildren.length; j++) { reifiedChildren[j].set("reifiedParents", [span]); } - console.log("Setting reified children for " + span.get("spanId") + - " to " + htrace.spanModelsToString (reifiedChildren)); + //console.log("Setting reified children for " + span.get("spanId") + + // " to " + htrace.spanModelsToString (reifiedChildren)); span.set("reifiedChildren", reifiedChildren); rootDeferred.resolve(""); }); diff --git a/htrace-webapp/src/main/webapp/app/span_widget.js b/htrace-webapp/src/main/webapp/app/span_widget.js index ba70577..8ebe4a7 100644 --- a/htrace-webapp/src/main/webapp/app/span_widget.js +++ b/htrace-webapp/src/main/webapp/app/span_widget.js @@ -246,7 +246,9 @@ htrace.SpanWidget = function(params) { case "dblclick": if (htrace.inBoundingBox(e.x, e.y, this.x0, this.xF, this.y0, this.yF)) { + $("body").css("cursor", "progress"); htrace.showSpanDetails(this.span); + $("body").css("cursor", "default"); } return true; } @@ -271,10 +273,12 @@ htrace.SpanWidget = function(params) { y0: this.y0 + 2, yF: this.yF - 2, callback: function(e) { + $("body").css("cursor", "progress"); var depth = (e.raw.ctrlKey) ? 100 : 0; $.when(widget.span.reifyParentsRecursive(depth)).done(function(result) { console.log("reifyParentsRecursive(" + depth + "): result was '" + result + "'"); + $("body").css("cursor", "default"); if (result != "") { alert(result); } else { @@ -294,10 +298,14 @@ htrace.SpanWidget = function(params) { y0: this.y0 + 2, yF: this.yF - 2, callback: function(e) { + $("body").css("cursor", "progress"); + var lim = Math.min(parseInt($("#children-lim").val()) || 50, 500); + $("#children-lim").val(lim.toString()); var depth = (e.raw.ctrlKey) ? 100 : 0; - $.when(widget.span.reifyChildrenRecursive(depth)).done(function (result) { + $.when(widget.span.reifyChildrenRecursive(depth, lim)).done(function (result) { console.log("reifyChildrenRecursive(" + depth + "): result was '" + result + "'"); + $("body").css("cursor", "default"); if (result != "") { alert(result); } else { diff --git a/htrace-webapp/src/main/webapp/index.html b/htrace-webapp/src/main/webapp/index.html index 7f4a687..c8f2493 100644 --- a/htrace-webapp/src/main/webapp/index.html +++ b/htrace-webapp/src/main/webapp/index.html @@ -207,6 +207,27 @@ +
+
+

Limits

+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+