{"id":475,"date":"2020-01-08T05:55:43","date_gmt":"2020-01-08T05:55:43","guid":{"rendered":"http:\/\/emacslisp.com\/?p=475"},"modified":"2020-01-08T05:55:43","modified_gmt":"2020-01-08T05:55:43","slug":"tomcat-src-org-apache-tomcat-util-diagnostics-java","status":"publish","type":"post","link":"http:\/\/emacslisp.com\/?p=475","title":{"rendered":"tomcat src &#8211; org.apache.tomcat.util.Diagnostics.java"},"content":{"rendered":"<p>this java file is to print out diagnostics for tomcat and jvm system information<\/p>\n<p>the mainly thing is to use java.lang.management.*<\/p>\n<pre lang=\"java\" line=\"1\">\r\n\/\/ init Bean class to dump system info\r\n\tprivate static final ClassLoadingMXBean classLoadingMXBean = ManagementFactory.getClassLoadingMXBean();\r\n\tprivate static final CompilationMXBean compilationMXBean = ManagementFactory.getCompilationMXBean();\r\n\tprivate static final OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();\r\n\tprivate static final RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();\r\n\tprivate static final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();\r\n\t\r\n\tprivate static final PlatformLoggingMXBean loggingMXBean = ManagementFactory\r\n\t\t\t.getPlatformMXBean(PlatformLoggingMXBean.class);\r\n\tprivate static final MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();\r\n\tprivate static final List<GarbageCollectorMXBean> garbageCollectorMXBeans = ManagementFactory\r\n\t\t\t.getGarbageCollectorMXBeans();\r\n\tprivate static final List<MemoryManagerMXBean> memoryManagerMXBeans = ManagementFactory.getMemoryManagerMXBeans();\r\n\tprivate static final List<MemoryPoolMXBean> memoryPoolMXBeans = ManagementFactory.getMemoryPoolMXBeans();\r\n\r\n<\/pre>\n<p>One of examples to print out vmName and vmVersion and so on<\/p>\n<pre lang=\"java\" line=\"1\">\r\nStringBuilder sb = new StringBuilder();\r\n\r\n\t\tsynchronized (timeformat) {\r\n\t\t\tsb.append(timeformat.format(new Date()));\r\n\t\t}\r\n\t\tsb.append(CRLF);\r\n\r\n\t\tsb.append(requestedSm.getString(\"diagnostics.vmInfoRuntime\"));\r\n\t\tsb.append(\":\" + CRLF);\r\n\t\tsb.append(INDENT1 + \"vmName: \" + runtimeMXBean.getVmName() + CRLF);\r\n\t\tsb.append(INDENT1 + \"vmVersion: \" + runtimeMXBean.getVmVersion() + CRLF);\r\n\t\tsb.append(INDENT1 + \"vmVendor: \" + runtimeMXBean.getVmVendor() + CRLF);\r\n\t\tsb.append(INDENT1 + \"specName: \" + runtimeMXBean.getSpecName() + CRLF);\r\n\t\tsb.append(INDENT1 + \"specVersion: \" + runtimeMXBean.getSpecVersion() + CRLF);\r\n\t\tsb.append(INDENT1 + \"specVendor: \" + runtimeMXBean.getSpecVendor() + CRLF);\r\n\t\tsb.append(INDENT1 + \"managementSpecVersion: \" + runtimeMXBean.getManagementSpecVersion() + CRLF);\r\n\t\tsb.append(INDENT1 + \"name: \" + runtimeMXBean.getName() + CRLF);\r\n\t\tsb.append(INDENT1 + \"startTime: \" + runtimeMXBean.getStartTime() + CRLF);\r\n\t\tsb.append(INDENT1 + \"uptime: \" + runtimeMXBean.getUptime() + CRLF);\r\n\t\tsb.append(INDENT1 + \"isBootClassPathSupported: \" + runtimeMXBean.isBootClassPathSupported() + CRLF);\r\n\t\tsb.append(CRLF);\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>this java file is to print out diagnostics for tomcat and jvm system information the mainly thing is to use java.lang.management.* \/\/ init Bean class to dump system info private static final ClassLoadingMXBean classLoadingMXBean = ManagementFactory.getClassLoadingMXBean(); private static final CompilationMXBean compilationMXBean = ManagementFactory.getCompilationMXBean(); private static final OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); private static final RuntimeMXBean runtimeMXBean [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,20],"tags":[],"class_list":["post-475","post","type-post","status-publish","format-standard","hentry","category-tomcat","category-tomcat-src-reading"],"_links":{"self":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=475"}],"version-history":[{"count":1,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/475\/revisions"}],"predecessor-version":[{"id":476,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/475\/revisions\/476"}],"wp:attachment":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=475"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}