use of org.apache.jmeter.report.processor.graph.AbstractSeriesSelector in project jmeter by apache.
the class BytesThroughputGraphConsumer method createGroupInfos.
/*
* (non-Javadoc)
*
* @see org.apache.jmeter.report.csv.processor.impl.AbstractGraphConsumer#
* createGroupInfos()
*/
@Override
protected Map<String, GroupInfo> createGroupInfos() {
AbstractSeriesSelector seriesSelector = new AbstractSeriesSelector() {
private final Iterable<String> values = Arrays.asList(RECEIVED_BYTES_SERIES_LABEL, SENT_BYTES_SERIES_LABEL);
@Override
public Iterable<String> select(Sample sample) {
return values;
}
};
GraphValueSelector graphValueSelector = (series, sample) -> {
// Ignore Transaction Controller results
if (sample.isController()) {
return null;
} else {
return (double) (RECEIVED_BYTES_SERIES_LABEL.equals(series) ? sample.getReceivedBytes() : sample.getSentBytes());
}
};
return Collections.singletonMap(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(new TimeRateAggregatorFactory(), seriesSelector, graphValueSelector, false, false));
}
use of org.apache.jmeter.report.processor.graph.AbstractSeriesSelector in project jmeter by apache.
the class ActiveThreadsGraphConsumer method createGroupInfos.
/*
* (non-Javadoc)
*
* @see org.apache.jmeter.report.csv.processor.impl.AbstractGraphConsumer#
* createGroupInfos()
*/
@Override
protected Map<String, GroupInfo> createGroupInfos() {
AbstractSeriesSelector seriesSelector = new AbstractSeriesSelector() {
@Override
public Iterable<String> select(Sample sample) {
if (sample.isEmptyController()) {
return Collections.emptyList();
}
String threadName = sample.getThreadName();
int index = threadName.lastIndexOf(' ');
if (index >= 0) {
threadName = threadName.substring(0, index);
}
return Collections.singletonList(threadName);
}
};
GraphValueSelector graphValueSelector = (series, sample) -> {
if (!sample.isEmptyController()) {
return (double) sample.getGroupThreads();
} else {
return null;
}
};
return Collections.singletonMap(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(new MeanAggregatorFactory(), seriesSelector, graphValueSelector, false, false));
}
use of org.apache.jmeter.report.processor.graph.AbstractSeriesSelector in project jmeter by apache.
the class CustomGraphConsumer method createGroupInfos.
/*
* (non-Javadoc)
*
* @see org.apache.jmeter.report.csv.processor.impl.AbstractGraphConsumer#
* createGroupInfos()
*/
@Override
protected Map<String, GroupInfo> createGroupInfos() {
AbstractSeriesSelector seriesSelector = new AbstractSeriesSelector() {
@Override
public Iterable<String> select(Sample sample) {
return Collections.singletonList(sampleVariableName);
}
};
GraphValueSelector graphValueSelector = (series, sample) -> {
String value;
if (isNativeSampleVariableName) {
value = sample.getData(sampleVariableName);
} else {
value = sample.getData(CSVSaveService.VARIABLE_NAME_QUOTE_CHAR + sampleVariableName + CSVSaveService.VARIABLE_NAME_QUOTE_CHAR);
}
if (StringUtils.isEmpty(value) || "null".equals(value)) {
return null;
}
try {
return Converters.convert(Double.class, value);
} catch (ConvertException e) {
throw new IllegalArgumentException("Double converter failed", e);
}
};
return Collections.singletonMap(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(new MeanAggregatorFactory(), seriesSelector, // We ignore Transaction Controller results
graphValueSelector, false, false));
}
use of org.apache.jmeter.report.processor.graph.AbstractSeriesSelector in project jmeter by apache.
the class TransactionsPerSecondGraphConsumer method createGroupInfos.
/*
* (non-Javadoc)
*
* @see org.apache.jmeter.report.csv.processor.impl.AbstractGraphConsumer#
* createGroupInfos()
*/
@Override
protected Map<String, GroupInfo> createGroupInfos() {
AbstractSeriesSelector seriesSelector = new AbstractSeriesSelector(true) {
@Override
public Iterable<String> select(Sample sample) {
String success = sample.getSuccess() ? SUCCESS_SERIES_SUFFIX : FAILURE_SERIES_SUFFIX;
String label = sample.getName() + "-" + success;
return Arrays.asList(label);
}
};
return Collections.singletonMap(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(new TimeRateAggregatorFactory(), seriesSelector, // We include Transaction Controller results
new CountValueSelector(false), false, false));
}
Aggregations