in src/main/java/org/apache/sling/commons/metrics/internal/MetricWebConsolePlugin.java [169:214]
private void addMeterDetails(PrintWriter pw, SortedMap<String, Meter> meters) {
if (meters.isEmpty()) {
return;
}
pw.println("<br>");
pw.println("<div class='table'>");
pw.println("<div class='ui-widget-header ui-corner-top buttonGroup'>Meters</div>");
pw.println("<table class='nicetable' id='data-meters'>");
pw.println("<thead>");
pw.println("<tr>");
pw.println("<th class='header'>Name</th>");
pw.println("<th class='header'>Count</th>");
pw.println("<th class='header'>Mean Rate</th>");
pw.println("<th class='header'>OneMinuteRate</th>");
pw.println("<th class='header'>FiveMinuteRate</th>");
pw.println("<th class='header'>FifteenMinuteRate</ th>");
pw.println("<th>RateUnit</th>");
pw.println("</tr>");
pw.println("</thead>");
pw.println("<tbody>");
String rowClass = "odd";
for (Map.Entry<String, Meter> e : meters.entrySet()) {
Meter m = e.getValue();
String name = e.getKey();
double rateFactor = timeUnit.rateFor(name).toSeconds(1);
String rateUnit = "events/" + calculateRateUnit(timeUnit.rateFor(name));
pw.printf("<tr class='%s ui-state-default'>%n", rowClass);
pw.printf("<td>%s</td>", name);
pw.printf("<td>%d</td>", m.getCount());
pw.printf("<td>%f</td>", m.getMeanRate() * rateFactor);
pw.printf("<td>%f</td>", m.getOneMinuteRate() * rateFactor);
pw.printf("<td>%f</td>", m.getFiveMinuteRate() * rateFactor);
pw.printf("<td>%f</td>", m.getFifteenMinuteRate() * rateFactor);
pw.printf("<td>%s</td>", rateUnit);
pw.println("</tr>");
rowClass = "odd".equals(rowClass) ? "even" : "odd";
}
pw.println("</tbody>");
pw.println("</table>");
pw.println("</div>");
}