protected void printSegmentAssignment(Map<String, Map<String, String>> mapping) throws Exception { LOGGER.info(JsonUtils.objectToPrettyString(mapping)); Map<String, List<String>> serverToSegmentMapping = new TreeMap<>(); for (String segment : mapping.keySet()) { Map<String, String> serverToStateMap = mapping.get(segment); for (String server : serverToStateMap.keySet()) { if (!serverToSegmentMapping.containsKey(server)) { serverToSegmentMapping.put(server, new ArrayList<>()); } serverToSegmentMapping.get(server).add(segment); } } DescriptiveStatistics stats = new DescriptiveStatistics(); for (String server : serverToSegmentMapping.keySet()) { List<String> list = serverToSegmentMapping.get(server); LOGGER.info("server " + server + " has " + list.size() + " segments"); stats.addValue(list.size()); } LOGGER.info("Segment Distrbution stat"); LOGGER.info(stats.toString()); }
public static void generateReport(String dataFileName) throws IOException { List<DescriptiveStatistics> statisticsList = new ArrayList<>(); String dataString; BufferedReader dataReader = new BufferedReader(new FileReader(dataFileName)); // First line is treated as header String[] columns = dataReader.readLine().split("\\s+"); int numColumns = columns.length; for (int i = 0; i < numColumns; ++i) { statisticsList.add(new DescriptiveStatistics()); } while ((dataString = dataReader.readLine()) != null) { String[] dataArray = dataString.trim().split(" "); if (dataArray.length != numColumns) { throw new RuntimeException( "Row has missing columns: " + Arrays.toString(dataArray) + " Expected: " + numColumns + " columns."); } for (int i = 0; i < dataArray.length; ++i) { double data = Double.valueOf(dataArray[i]); statisticsList.get(i).addValue(data); } } for (int i = 0; i < numColumns; i++) { LOGGER.info("Stats: {}: {}", columns[i], statisticsList.get(i).toString().replace("\n", "\t")); } }
public void report() { synchronized (_statistics) { LOGGER.info("--------------------------------------------------------------------------------"); LOGGER.info("{}:", _name); LOGGER.info(_statistics.toString()); LOGGER.info("10th percentile: {}", _statistics.getPercentile(10.0)); LOGGER.info("25th percentile: {}", _statistics.getPercentile(25.0)); LOGGER.info("50th percentile: {}", _statistics.getPercentile(50.0)); LOGGER.info("90th percentile: {}", _statistics.getPercentile(90.0)); LOGGER.info("95th percentile: {}", _statistics.getPercentile(95.0)); LOGGER.info("99th percentile: {}", _statistics.getPercentile(99.0)); LOGGER.info("99.9th percentile: {}", _statistics.getPercentile(99.9)); LOGGER.info("--------------------------------------------------------------------------------"); } }
/** * {@inheritDoc} */ @Override public synchronized String toString() { return super.toString(); }
/** * Generates a text report displaying univariate statistics from values * that have been added. Each statistic is displayed on a separate * line. * * @return String with line feeds displaying statistics */ public synchronized String toString() { return super.toString(); } }
/** * {@inheritDoc} */ @Override public synchronized String toString() { return super.toString(); }