modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricD3GraphView.java | 2 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AbstractGraph.java | 4 -- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AvailabilityLineGraphType.java | 12 ++++---- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricNvd3BarChartGraph.java | 6 ++-- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java | 15 +++++++--- 5 files changed, 22 insertions(+), 17 deletions(-)
New commits: commit 53f4aa0598b4bcd977ae90b312473e2d430577ee Author: Mike Thompson mithomps@redhat.com Date: Wed Mar 6 15:45:41 2013 -0800
Charting - Add micro-benchmarking code to output time spent on graphing to the javascript console. So we can see if addition/deletion of things has an impact on graphing performance.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricD3GraphView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricD3GraphView.java index 767daa9..f147e32 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricD3GraphView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricD3GraphView.java @@ -126,7 +126,7 @@ public abstract class AbstractMetricD3GraphView extends LocatableVLayout { //@todo: this is a hack around timing issue of jsni not seeing the DOM drawJsniChart(); } - }.schedule(100); + }.schedule(300); }
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AbstractGraph.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AbstractGraph.java index 0559732..c129f05 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AbstractGraph.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AbstractGraph.java @@ -94,10 +94,6 @@ public abstract class AbstractGraph implements HasD3MetricJsniChart { metricGraphData.setMetricData(metricData); }
-// public void setAvailabilityList(PageList<Availability> availabilityDownList) { -// metricGraphData.setAvailabilityList(availabilityDownList); -// } - public void setMeasurementOOBCompositeList(PageList<MeasurementOOBComposite> measurementOOBCompositeList) { metricGraphData.setMeasurementOOBCompositeList(measurementOOBCompositeList); } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AvailabilityLineGraphType.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AvailabilityLineGraphType.java index 6ef2cde..37f8956 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AvailabilityLineGraphType.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/AvailabilityLineGraphType.java @@ -119,12 +119,13 @@ public class AvailabilityLineGraphType { */ public native void drawJsniChart() /*-{
- console.log("Draw Availability Line chart"); - var global = this; + console.groupCollapsed("AvailabilityChart"); + console.time("availabilityChart"); + var global = this,
// tidy up all of our interactions with java (via JSNI) thru AvailChartContext class // NOTE: rhq.js has the javascript object constructors in it. - var availChartContext = new $wnd.AvailChartContext(global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AvailabilityLineGraphType::getChartId()(), + availChartContext = new $wnd.AvailChartContext(global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AvailabilityLineGraphType::getChartId()(), global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AvailabilityLineGraphType::getAvailabilityJson()(), global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AvailabilityLineGraphType::getChartDateLabel()(), global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.AvailabilityLineGraphType::getChartTimeLabel()(), @@ -159,8 +160,6 @@ public class AvailabilityLineGraphType { .attr("transform", "translate(" + margin.left + "," + margin.top + ")");
- console.log("finished axes"); - // The gray bars at the bottom leading up svg.selectAll("rect.availBar") .data(availChartContext.data) @@ -194,7 +193,6 @@ public class AvailabilityLineGraphType {
createHovers();
- console.log("finished avail paths"); }
function createHovers() { @@ -239,6 +237,8 @@ public class AvailabilityLineGraphType {
draw(availChartContext);
+ console.timeEnd("availabilityChart"); + console.groupEnd("AvailabilityChart"); }-*/;
public String getChartId() { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricNvd3BarChartGraph.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricNvd3BarChartGraph.java index 9d1165e..1fec750 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricNvd3BarChartGraph.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricNvd3BarChartGraph.java @@ -39,6 +39,7 @@ public final class MetricNvd3BarChartGraph extends AbstractGraph */ public native void drawJsniChart() /*-{ console.log("Draw NVD3 Bar jsni chart"); + console.time("multiChart") var global = this, chartId = global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.MetricGraphData::getChartId()(), chartHandle = "#rChart-"+chartId, @@ -48,10 +49,10 @@ public final class MetricNvd3BarChartGraph extends AbstractGraph yAxisUnits = global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.MetricGraphData::getYAxisUnits()(), xAxisLabel = global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.MetricGraphData::getXAxisTitle()(), displayDayOfWeek = global.@org.rhq.enterprise.gui.coregui.client.inventory.common.charttype.MetricGraphData::shouldDisplayDayOfWeekInXAxisLabel()(), - xAxisTimeFormat = (displayDayOfWeek) ? "%a %I %p" : "%I %p"; + xAxisTimeFormat = (displayDayOfWeek) ? "%a %I %p" : "%I %p",
// nvd3 defines their json models a standard way (same model for other graphs) - var data = function() { + data = function() { return [ { values: json, @@ -81,6 +82,7 @@ public final class MetricNvd3BarChartGraph extends AbstractGraph
return chart; }); + console.timeEnd("multiChart")
}-*/;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java index dea4039..57ae668 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java @@ -253,6 +253,7 @@ public final class MetricStackedBarGraph extends AbstractGraph { }
function createStackedBars() { + console.time("stackedBars");
var pixelsOffHeight = 0;
@@ -383,6 +384,7 @@ public final class MetricStackedBarGraph extends AbstractGraph { return "#70c4e2"; } }); + console.timeEnd("stackedBars"); }
function createYAxisGridLines() { @@ -425,7 +427,8 @@ public final class MetricStackedBarGraph extends AbstractGraph {
}
- function createMinAvgPeakLines() { + function createAvgLines() { + console.time("drawLines");
var minBaselineLine = $wnd.d3.svg.line() .interpolate(interpolation) @@ -508,6 +511,8 @@ public final class MetricStackedBarGraph extends AbstractGraph { .attr("stroke-width", "1.5") .attr("stroke-opacity", ".7") .attr("d", barAvgLine); + + console.timeEnd("drawLines"); }
function formatHovers(chartContext, d) { @@ -571,7 +576,8 @@ public final class MetricStackedBarGraph extends AbstractGraph { // Public API draw: function (chartContext) { "use strict"; - console.log("chart id: " + chartContext.chartSelection); + console.group("Creating Chart: %s",chartContext.chartSelection); + console.time("chart"); //console.log("Json Data:\n"+chartContext.data);
createHeader(chartContext.chartTitle); @@ -579,9 +585,10 @@ public final class MetricStackedBarGraph extends AbstractGraph { createYAxisGridLines(); createStackedBars(); createXandYAxes(); - createMinAvgPeakLines(); + createAvgLines(); createHovers(chartContext); - console.log("finished drawing paths"); + console.timeEnd("chart"); + console.groupEnd(); } }; // end public closure }();
rhq-commits@lists.fedorahosted.org