add aggregator for parallel requests

ParallelRequestsAggregator generates a line plot that shows the number
of parallel requests among the plotted events.
This plot has two issues:
1. It only considers events that are plotted. Events that occur later,
   but were started within the plotted time frame are not considered.
2. For performance reasons we are only plotting points when a value
   changed. This leads to diagonal lines.
This commit is contained in:
2018-08-09 07:24:51 +02:00
parent 99dbf31d8a
commit f30a8a26d9
11 changed files with 146 additions and 11 deletions

View File

@@ -65,13 +65,16 @@ public class GnuplotFileGenerator {
appendfln(result, "set key font \",10\"");
if (!settings.isRenderLabels()) {
appendfln(result, "set format x \"\"", xAxis.getFormatX());
appendfln(result, "set xlabel \"\"", xAxis.getXlabel());
appendfln(result, "set format x \"\"");
appendfln(result, "set xlabel \"\"");
appendfln(result, "set x2label \"\"");
appendln(result, "set format x2 \"\"");
appendfln(result, "set ylabel \"\"", settings.getYlabel());
appendfln(result, "set ylabel \"\"");
appendln(result, "set format y \"\"");
appendln(result, "set y2label \"\"");
appendln(result, "set format y2 \"\"");
appendln(result, "set nokey");
}

View File

@@ -210,7 +210,8 @@ public class ScatterPlot {
final long maxValue = plotSettings.getYRangeUnit() == TimeRangeUnitInternal.AUTOMATIC ? Long.MAX_VALUE
: plotSettings.getYRangeUnit().toMilliSeconds(plotSettings.getYRangeMax());
final CustomAggregator aggregator = plotSettings.getAggregate().createCustomAggregator(tmpDir);
final CustomAggregator aggregator = plotSettings.getAggregate().createCustomAggregator(tmpDir, fromEpochMilli,
toEpochMilli);
int count = 0; // number of values in the x-axis range (used to compute stats)
int plottedValues = 0;