You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2016/09/24 08:11:19 UTC
svn commit: r1762107 - in /jmeter/trunk:
bin/report-template/content/js/graph.js.fmkr
bin/report-template/content/js/jquery.flot.stack.js
bin/report-template/content/pages/OverTime.html.fmkr xdocs/changes.xml
Author: pmouawad
Date: Sat Sep 24 08:11:19 2016
New Revision: 1762107
URL: http://svn.apache.org/viewvc?rev=1762107&view=rev
Log:
Bug 60171 - Report / Dashboard : Active Threads Over Time should stack lines to give the total amount of threads running
Bugzilla Id: 60171
Added:
jmeter/trunk/bin/report-template/content/js/jquery.flot.stack.js (with props)
Modified:
jmeter/trunk/bin/report-template/content/js/graph.js.fmkr
jmeter/trunk/bin/report-template/content/pages/OverTime.html.fmkr
jmeter/trunk/xdocs/changes.xml
Modified: jmeter/trunk/bin/report-template/content/js/graph.js.fmkr
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/report-template/content/js/graph.js.fmkr?rev=1762107&r1=1762106&r2=1762107&view=diff
==============================================================================
--- jmeter/trunk/bin/report-template/content/js/graph.js.fmkr (original)
+++ jmeter/trunk/bin/report-template/content/js/graph.js.fmkr Sat Sep 24 08:11:19 2016
@@ -431,8 +431,10 @@ var activeThreadsOverTimeInfos = {
getOptions: function() {
return {
series: {
+ stack: true,
lines: {
- show: true
+ show: true,
+ fill: true
},
points: {
show: true
Added: jmeter/trunk/bin/report-template/content/js/jquery.flot.stack.js
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/report-template/content/js/jquery.flot.stack.js?rev=1762107&view=auto
==============================================================================
--- jmeter/trunk/bin/report-template/content/js/jquery.flot.stack.js (added)
+++ jmeter/trunk/bin/report-template/content/js/jquery.flot.stack.js Sat Sep 24 08:11:19 2016
@@ -0,0 +1,83 @@
+/* Flot plugin for stacking data sets rather than overlyaing them.
+
+Copyright (c) 2007-2014 IOLA and Ole Laursen.
+Licensed under the MIT license.
+
+The plugin assumes the data is sorted on x (or y if stacking horizontally).
+For line charts, it is assumed that if a line has an undefined gap (from a
+null point), then the line above it should have the same gap - insert zeros
+instead of "null" if you want another behaviour. This also holds for the start
+and end of the chart. Note that stacking a mix of positive and negative values
+in most instances doesn't make sense (so it looks weird).
+
+Two or more series are stacked when their "stack" attribute is set to the same
+key (which can be any number or string or just "true"). To specify the default
+stack, you can set the stack option like this:
+
+ series: {
+ stack: null/false, true, or a key (number/string)
+ }
+
+You can also specify it for a single series, like this:
+
+ $.plot( $("#placeholder"), [{
+ data: [ ... ],
+ stack: true
+ }])
+
+The stacking order is determined by the order of the data series in the array
+(later series end up on top of the previous).
+
+Internally, the plugin modifies the datapoints in each series, adding an
+offset to the y value. For line series, extra data points are inserted through
+interpolation. If there's a second y value, it's also adjusted (e.g for bar
+charts or filled areas).
+
+*/
+
+/**
+ * Patched version as per https://github.com/flot/flot/issues/326
+ */
+(function ($) {
+ var options = {
+ series: { stack: null } // or number/string
+ };
+
+ function init(plot) {
+
+ // will be built up dynamically as a hash from x-value to
+ var stackBases = {};
+
+ function stackData(plot, s, datapoints) {
+ if (s.stack == null || s.stack === false)
+ return;
+
+ var newPoints = [];
+
+ for (var i=0; i < datapoints.points.length; i += 3) {
+
+ if (!stackBases[datapoints.points[i]]) {
+ stackBases[datapoints.points[i]] = 0;
+ }
+
+ // note that the values need to be turned into absolute y-values.
+ // in other words, if you were to stack (x, y1), (x, y2), and (x, y3), (each from different series, which is where stackBases comes in),
+ // you'd want the new points to be (x, y1, 0), (x, y1+y2, y1), (x,y1+y2+y3, y1+y2)
+ // generally, (x, thisValue + (base up to this point), + (base up tothis point))
+ newPoints[i] = datapoints.points[i];
+ newPoints[i+1] = datapoints.points[i+1] + stackBases[datapoints.points[i]];
+ newPoints[i+2] = stackBases[datapoints.points[i]];
+ stackBases[datapoints.points[i]] += datapoints.points[i+1];
+ }
+ datapoints.points = newPoints;
+ }
+ plot.hooks.processDatapoints.push(stackData);
+ }
+
+ $.plot.plugins.push({
+ init: init,
+ options: options,
+ name: 'stack',
+ version: '1.2-patch-326'
+ });
+})(jQuery);
\ No newline at end of file
Propchange: jmeter/trunk/bin/report-template/content/js/jquery.flot.stack.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jmeter/trunk/bin/report-template/content/pages/OverTime.html.fmkr
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/report-template/content/pages/OverTime.html.fmkr?rev=1762107&r1=1762106&r2=1762107&view=diff
==============================================================================
--- jmeter/trunk/bin/report-template/content/pages/OverTime.html.fmkr (original)
+++ jmeter/trunk/bin/report-template/content/pages/OverTime.html.fmkr Sat Sep 24 08:11:19 2016
@@ -494,6 +494,7 @@
<script src="../../sbadmin2-1.0.7/bower_components/flot/jquery.flot.time.js"></script>
<script src="../../sbadmin2-1.0.7/bower_components/flot/jquery.flot.selection.js"></script>
<script src="../../sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.min.js"></script>
+ <script src="../js/jquery.flot.stack.js"></script>
<script src="../js/jquery.flot.axislabels.js"></script>
<script src="../js/hashtable.js"></script>
<script src="../js/jquery.numberformatter-1.2.3.min.js"></script>
Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1762107&r1=1762106&r2=1762107&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Sat Sep 24 08:11:19 2016
@@ -149,6 +149,7 @@ Summary
<li><bug>60108</bug>Report / Dashboard : In Requests Summary rounding is too aggressive</li>
<li><bug>60098</bug>Report / Dashboard : Reduce default value for "jmeter.reportgenerator.statistic_window" to reduce memory impact</li>
<li><bug>60115</bug>Add date format property for start/end date filter into Report generator</li>
+ <li><bug>60171</bug>Report / Dashboard : Active Threads Over Time should stack lines to give the total amount of threads running</li>
</ul>
<h3>General</h3>
<ul>