You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2005/04/19 00:50:24 UTC
cvs commit: jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager StatusManagerServlet.java StatusTransformer.java
remm 2005/04/18 15:50:24
Modified: webapps/manager/WEB-INF/classes/org/apache/catalina/manager
StatusManagerServlet.java StatusTransformer.java
Log:
- Add some OS level stats if APR is available. Swallow silently if APR is not available.
Revision Changes Path
1.16 +4 -1 jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java
Index: StatusManagerServlet.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- StatusManagerServlet.java 23 Sep 2004 07:03:27 -0000 1.15
+++ StatusManagerServlet.java 18 Apr 2005 22:50:24 -0000 1.16
@@ -276,6 +276,9 @@
try {
+ // Display operating system statistics using APR if available
+ StatusTransformer.writeOSState(writer,mode);
+
// Display virtual machine statistics
StatusTransformer.writeVMState(writer,mode);
1.26 +52 -2 jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java
Index: StatusTransformer.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- StatusTransformer.java 14 Apr 2005 23:32:54 -0000 1.25
+++ StatusTransformer.java 18 Apr 2005 22:50:24 -0000 1.26
@@ -18,6 +18,7 @@
package org.apache.catalina.manager;
import java.io.PrintWriter;
+import java.lang.reflect.Method;
import java.text.MessageFormat;
import java.util.Date;
import java.util.Enumeration;
@@ -142,6 +143,55 @@
/**
+ * Write the OS state. Mode 0 will generate HTML.
+ * Mode 1 will generate XML.
+ */
+ public static void writeOSState(PrintWriter writer, int mode) {
+ long[] result = new long[14];
+ boolean ok = false;
+ try {
+ String methodName = "info";
+ Class paramTypes[] = new Class[1];
+ paramTypes[0] = result.getClass();
+ Object paramValues[] = new Object[1];
+ paramValues[0] = result;
+ Method method = Class.forName("org.apache.tomcat.jni.OS")
+ .getMethod(methodName, paramTypes);
+ method.invoke(null, paramValues);
+ ok = true;
+ } catch (Throwable t) {
+ // Ignore
+ }
+
+ if (ok) {
+ if (mode == 0){
+ writer.print("<h1>OS</h1>");
+
+ writer.print("<p>");
+ writer.print(" Physical memory: ");
+ writer.print(formatSize(new Long(result[0]), true));
+ writer.print(" Available memory: ");
+ writer.print(formatSize(new Long(result[1]), true));
+ writer.print(" Total page file: ");
+ writer.print(formatSize(new Long(result[2]), true));
+ writer.print(" Free page file: ");
+ writer.print(formatSize(new Long(result[3]), true));
+ writer.print(" Memory load: ");
+ writer.print(new Long(result[4]));
+ writer.print("<br>");
+ writer.print(" Process kernel time: ");
+ writer.print(formatTime(new Long(result[9] / 1000), true));
+ writer.print(" Process user time: ");
+ writer.print(formatTime(new Long(result[10] / 1000), true));
+ writer.print("</p>");
+ } else if (mode == 1){
+ }
+ }
+
+ }
+
+
+ /**
* Write the VM state. Mode 0 will generate HTML.
* Mode 1 will generate XML.
*/
@@ -853,7 +903,7 @@
}
if (seconds) {
- return ((time / 1000) + " s");
+ return ((((float) time ) / 1000) + " s");
} else {
return (time + " ms");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org