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

@@ -2,6 +2,7 @@ package org.lucares.pdbui;
import org.lucares.pdb.plot.api.AggregateHandler;
import org.lucares.pdb.plot.api.NullAggregate;
import org.lucares.pdb.plot.api.ParallelRequestsAggregate;
import org.lucares.pdb.plot.api.PercentileAggregate;
import org.lucares.pdb.plot.api.PlotSettings;
import org.lucares.pdb.plot.api.TimeRangeUnitInternal;
@@ -59,6 +60,8 @@ class PlotSettingsTransformer {
return new NullAggregate();
case PERCENTILES:
return new PercentileAggregate();
case PARALLEL:
return new ParallelRequestsAggregate();
}
throw new IllegalStateException("unhandled enum: " + aggregate);
}

View File

@@ -1,5 +1,5 @@
package org.lucares.pdbui.domain;
public enum Aggregate {
NONE, PERCENTILES
NONE, PERCENTILES, PARALLEL
}

View File

@@ -43,6 +43,7 @@
<logger name="org.lucares.metrics.proposals" level="DEBUG" />
<logger name="org.lucares.metrics.plotter" level="DEBUG" />
<logger name="org.lucares.metrics.gnuplot" level="DEBUG" />
<logger name="org.lucares.metrics.aggregator.parallelRequests" level="DEBUG" />
<!--
<logger name="org.lucares.metrics.ingestion.tagsToFile.newPdbWriter" level="DEBUG" />
<logger name="org.lucares.metrics.dataStore" level="DEBUG" />

View File

@@ -783,6 +783,7 @@ Vue.component('search-bar', {
<select id="show-aggregate" v-model="searchBar.aggregate">
<option value="NONE">-</option>
<option value="PERCENTILES">percentiles</option>
<option value="PARALLEL">parallel requests</option>
</select>
</div>