package smartkv.client.workloads.ReportGenerator.htmlElements; import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; import com.google.common.collect.Lists; public class DescriptiveStatisticsGenerator extends TableGenerator{ public DescriptiveStatisticsGenerator(String title, String description, DescriptiveStatistics stats) { super(title, description); columns = Lists.newArrayList("Stat", "Value"); lines = Lists.newArrayList("Total", "Min", "Max", "Mean", "Std Dev", "Median"); double[] values = {stats.getN(), stats.getMin(), stats.getMax(), stats.getMean(),stats.getStandardDeviation(), stats.getPercentile(50)}; tableContents = Lists.newArrayList(); for (int i = 0 ; i < lines.size() ;i++ ){ double[] v = {values[i]}; tableContents.add(i,v); } } @Override protected void renderValueLine(int line){ switch(line){ case 0: startCellValue(); out.append( String.format("%d", (long) tableContents.get(line)[0])); endCellValue(); break; default: startCellValue(); // Print frequency: out.append( String.format("%.2f", tableContents.get(line)[0])); endCellValue(); break; } } }