public static long getLastGcDuration(ObjectName gcCollector) { long lastGcDuration = 0; Object lastGcInfo = getValueFromMBean(gcCollector, "LastGcInfo"); if (lastGcInfo != null && lastGcInfo instanceof CompositeData) { CompositeData cds = (CompositeData)lastGcInfo; lastGcDuration = (long) cds.get("duration"); } return lastGcDuration; }
@Test public void testGetLastGCInfo() { List<GarbageCollectorMXBean> gcBeans = ManagementFactory.getGarbageCollectorMXBeans(); for(GarbageCollectorMXBean bean:gcBeans) { ObjectName on = bean.getObjectName(); Object value = JSONMetricUtil.getValueFromMBean(on, "LastGcInfo"); LOG.info("Collector Info: "+ value); if (value != null && value instanceof CompositeData) { CompositeData cds = (CompositeData)value; assertNotNull(cds.get("duration")); } } } }
out.print( JSONMetricUtil.getProcessPID() ); out.write("</td>\n <td>"); out.print( (long)JSONMetricUtil.getValueFromMBean(rsMetrics, "pauseWarnThresholdExceeded") + (long)JSONMetricUtil.getValueFromMBean(rsMetrics, "pauseInfoThresholdExceeded") ); out.write("</td>\n <td>"); out.print( runtimeBean.getSystemProperties().get("user.name") ); out.write("</td>\n </tr>\n </table>\n</div>\n<div class=\"container-fluid content\">\n <div class=\"row\">\n <div class=\"page-header\">\n <h2>Threads</h2>\n </div>\n </div>\n <table class=\"table table-striped\" width=\"90%\" >\n <tr>\n <th>ThreadsNew</th>\n <th>ThreadsRunable</th>\n <th>ThreadsBlocked</th>\n <th>ThreadsWaiting</th>\n <th>ThreadsTimeWaiting</th>\n <th>ThreadsTerminated</th>\n </tr>\n <tr>\n <tr>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsNew") ); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsRunnable")); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsBlocked")); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsWaiting")); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsTimedWaiting")); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsTerminated")); out.write("</td>\n </tr>\n </table>\n</div>\n<div class=\"container-fluid content\">\n <div class=\"row\">\n <div class=\"page-header\">\n <h2>GC Collectors</h2>\n </div>\n </div>\n "); if (gcBeans.size() == 2) {
out.print( runtimeBean.getSystemProperties().get("user.name") ); out.write("</td>\n </tr>\n </table>\n</div>\n<div class=\"container-fluid content\">\n <div class=\"row\">\n <div class=\"page-header\">\n <h2>Threads</h2>\n </div>\n </div>\n <table class=\"table table-striped\" width=\"90%\" >\n <tr>\n <th>ThreadsNew</th>\n <th>ThreadsRunable</th>\n <th>ThreadsBlocked</th>\n <th>ThreadsWaiting</th>\n <th>ThreadsTimeWaiting</th>\n <th>ThreadsTerminated</th>\n </tr>\n <tr>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsNew") ); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsRunnable")); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsBlocked")); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsWaiting")); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsTimedWaiting")); out.write("</td>\n <td>"); out.print( JSONMetricUtil.getValueFromMBean(jvmMetrics, "ThreadsTerminated")); out.write("</td>\n </tr>\n </table>\n</div>\n<div class=\"container-fluid content\">\n <div class=\"row\">\n <div class=\"page-header\">\n <h2>GC Collectors</h2>\n </div>\n </div>\n "); if (gcBeans.size() == 2) {
public static long getLastGcDuration(ObjectName gcCollector) { long lastGcDuration = 0; Object lastGcInfo = getValueFromMBean(gcCollector, "LastGcInfo"); if (lastGcInfo != null && lastGcInfo instanceof CompositeData) { CompositeData cds = (CompositeData)lastGcInfo; lastGcDuration = (long) cds.get("duration"); } return lastGcDuration; }
public static long getLastGcDuration(ObjectName gcCollector) { long lastGcDuration = 0; Object lastGcInfo = getValueFromMBean(gcCollector, "LastGcInfo"); if (lastGcInfo != null && lastGcInfo instanceof CompositeData) { CompositeData cds = (CompositeData)lastGcInfo; lastGcDuration = (long) cds.get("duration"); } return lastGcDuration; }
@Test public void testGetLastGCInfo() { List<GarbageCollectorMXBean> gcBeans = ManagementFactory.getGarbageCollectorMXBeans(); for(GarbageCollectorMXBean bean:gcBeans) { ObjectName on = bean.getObjectName(); Object value = JSONMetricUtil.getValueFromMBean(on, "LastGcInfo"); LOG.info("Collector Info: "+ value); if (value != null && value instanceof CompositeData) { CompositeData cds = (CompositeData)value; assertNotNull(cds.get("duration")); } } } }