in src/main/java/org/apache/sling/commons/metrics/internal/MetricWebConsolePlugin.java [294:351]
private void addHistogramDetails(PrintWriter pw, SortedMap<String, Histogram> histograms) {
if (histograms.isEmpty()) {
return;
}
pw.println("<br>");
pw.println("<div class='table'>");
pw.println("<div class='ui-widget-header ui-corner-top buttonGroup'>Histograms</div>");
pw.println("<table class='nicetable' id='data-histograms'>");
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'>50%</th>");
pw.println("<th class='header'>Min</th>");
pw.println("<th class='header'>Max</th>");
pw.println("<th class='header'>Mean</th>");
pw.println("<th class='header'>StdDev</th>");
pw.println("<th class='header'>75%</th>");
pw.println("<th class='header'>95%</th>");
pw.println("<th class='header'>98%</th>");
pw.println("<th class='header'>99%</th>");
pw.println("<th class='header'>999%</th>");
pw.println("</tr>");
pw.println("</thead>");
pw.println("<tbody>");
String rowClass = "odd";
for (Map.Entry<String, Histogram> e : histograms.entrySet()) {
Histogram h = e.getValue();
Snapshot s = h.getSnapshot();
String name = e.getKey();
pw.printf("<tr class='%s ui-state-default'>%n", rowClass);
pw.printf("<td>%s</td>", name);
pw.printf("<td>%d</td>", h.getCount());
pw.printf("<td>%f</td>", s.getMedian());
pw.printf("<td>%d</td>", s.getMin());
pw.printf("<td>%d</td>", s.getMax());
pw.printf("<td>%f</td>", s.getMean());
pw.printf("<td>%f</td>", s.getStdDev());
pw.printf("<td>%f</td>", s.get75thPercentile());
pw.printf("<td>%f</td>", s.get95thPercentile());
pw.printf("<td>%f</td>", s.get98thPercentile());
pw.printf("<td>%f</td>", s.get99thPercentile());
pw.printf("<td>%f</td>", s.get999thPercentile());
pw.println("</tr>");
rowClass = "odd".equals(rowClass) ? "even" : "odd";
}
pw.println("</tbody>");
pw.println("</table>");
pw.println("</div>");
}