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