From 6732b86f752ee0d072710341fe3e57f0d53904b3 Mon Sep 17 00:00:00 2001 From: Tim Buckley Date: Wed, 19 Aug 2015 16:04:55 -0600 Subject: [PATCH] Hide dstat lanes if no loaded dstat data overlaps with test entries --- stackviz/static/js/timeline.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/stackviz/static/js/timeline.js b/stackviz/static/js/timeline.js index d123816..46f2376 100644 --- a/stackviz/static/js/timeline.js +++ b/stackviz/static/js/timeline.js @@ -169,11 +169,22 @@ var initTimeline = function(options, data, timeExtents) { var width = container.width() - margin.left - margin.right; var height = 550 - margin.top - margin.bottom; - var dstatLanes = getDstatLanes( - options.dstatData, - options.dstatMinimums, - options.dstatMaximums); - var lanes = data.length + dstatLanes.length; + // filter dstat data immediately. if no timestamps overlap, we want to throw + // it away quickly + options.dstatData = options.dstatData.slice( + binaryMinIndex(timeExtents[0], options.dstatData, function(d) { return d.system_time; }), + binaryMaxIndex(timeExtents[1], options.dstatData, function(d) { return d.system_time; }) + ); + + var dstatLanes; + if (options.dstatData.length > 2) { + dstatLanes = getDstatLanes( + options.dstatData, + options.dstatMinimums, + options.dstatMaximums); + } else { + dstatLanes = []; + } var miniHeight = data.length * 12 + 30; var dstatHeight = dstatLanes.length * 30 + 30;