/** * Returns percent/node combinations for the last month. This is used to get the last months top * 20 offenders * * @return a {@link java.util.TreeMap} object. */ public Map<Double, List<String>> getPercentNode() { int days = m_daysInLastMonth; long endTime = m_lastMonthEndTime; Calendar cal = new GregorianCalendar(); cal.setTimeInMillis(endTime); cal.add(Calendar.DATE, -1 * days); long rollingWindow = endTime - cal.getTime().getTime(); long startTime = cal.getTime().getTime(); LOG.debug("getPercentNode: Start time {}", new java.util.Date(startTime)); LOG.debug("getPercentNode: End time {}", new java.util.Date(endTime)); TreeMap<Double, List<String>> percentNode = new TreeMap<Double, List<String>>(); for (Node node : m_nodes) { if (node != null) { double percent = node.getPercentAvail(endTime, rollingWindow); String nodeName = node.getName(); LOG.debug("Node {} {} %", nodeName, percent); if (percent < 100.0) { List<String> nodeNames = percentNode.get(new Double(percent)); if (nodeNames == null) { nodeNames = new ArrayList<String>(); } nodeNames.add(nodeName); percentNode.put(new Double(percent), nodeNames); } } } LOG.debug("Percent node {}", percentNode); return percentNode; }