package com.griddynamics.jagger.engine.e1.collector; import static com.griddynamics.jagger.util.StandardMetricsNamesUtil.SUCCESS_RATE_AGGREGATOR_FAILED_ID; /** Calculates accumulative number of failed invokes from data collected by @ref SuccessRateCollector<Q,R,E> * @author Dmitry Latnikov * @n * @par Details: * @details Aggregator is calculating number of fails in every point for full set of data from beginning of the test @n * This means you are getting accumulative value and can see in dynamics how number of fails was changing and influencing success rate. @n * Results of calculation are presented in SuccessRateCollector<Q,R,E> docu @n * * @ingroup Main_Aggregators_group */ public class SuccessRateFailsAggregatorProvider implements MetricAggregatorProvider { /** Method is called to provide instance of private class: \b SuccessRateFailsAggregator that implements @ref MetricAggregator<C extends Number> and provides necessary calculations */ @Override public MetricAggregator provide() { return new SuccessRateFailsAggregator(); } private static class SuccessRateFailsAggregator implements MetricAggregator<Number> { long failNum = 0; @Override public void append(Number calculated) { if (calculated.intValue() == 0) failNum++; } @Override public Double getAggregated() { return new Double(failNum); } @Override public void reset() { } @Override public String getName() { return SUCCESS_RATE_AGGREGATOR_FAILED_ID; } } }