Issue Number: 6667 Tests Run: PE QL Approved by: Self. Required for Sun Tech Days in China for a demo. Synopsis The issue is confirmed, the query getPieIInformation sums up numbers of type 'long' from the various tables. On the first request to the server, the processing time is slower as compared to subsequent requests. I presume it is because of jsp compilations. Subsequent requests are much faster. So on the first request (and the first request only) for this sample application, the return value turns out to be too big for BIGINT(SQL equivalent of java long). Replacing BIGINT by DOUBLE does the trick. Index: src/java/com/sun/enterprise/admin/monitor/callflow/DbAccessObjectImpl.java =================================================================== RCS file: /cvs/glassfish/admin/monitor/src/java/com/sun/enterprise/admin/monitor/callflow/DbAccessObjectImpl.java,v retrieving revision 1.20 diff -u -r1.20 DbAccessObjectImpl.java --- src/java/com/sun/enterprise/admin/monitor/callflow/DbAccessObjectImpl.java 5 May 2007 05:24:18 -0000 1.20 +++ src/java/com/sun/enterprise/admin/monitor/callflow/DbAccessObjectImpl.java 3 Nov 2008 11:24:22 -0000 @@ -591,7 +591,7 @@ mapST = new HashMap(); while(rs.next()){ String container_type = rs.getString(1); - long time_taken = rs.getLong(2); + double time_taken = rs.getDouble(2); mapST.put(container_type, String.valueOf(time_taken)); } st.close(); @@ -603,7 +603,7 @@ mapET = new HashMap(); while(rs.next()){ String container_type = rs.getString(1); - long time_taken = rs.getLong(2); + double time_taken = rs.getDouble(2); mapET.put(container_type, String.valueOf(time_taken)); } et.close(); @@ -613,18 +613,18 @@ String stime = mapST.get(key); if (stime == null) continue; - long startTime = Long.valueOf(stime); + double startTime = Double.valueOf(stime); String etime = mapET.get(key); if (etime == null ) continue; - long endTime = Long.valueOf(etime); - long time_taken = endTime - startTime; + double endTime = Double.valueOf(etime); + double time_taken = endTime - startTime; retMap.put (key, String.valueOf (time_taken)); } } catch (SQLException se){ // log it - logger.log(Level.FINE, "callflow.error_get_pie_info", se); + logger.log(Level.SEVERE, "callflow.error_get_pie_info", se); } closeConnection(); return retMap; Index: src/java/com/sun/enterprise/admin/monitor/callflow/MethodEndAccessObjectImpl.java =================================================================== RCS file: /cvs/glassfish/admin/monitor/src/java/com/sun/enterprise/admin/monitor/callflow/MethodEndAccessObjectImpl.java,v retrieving revision 1.13.6.2 diff -u -r1.13.6.2 MethodEndAccessObjectImpl.java --- src/java/com/sun/enterprise/admin/monitor/callflow/MethodEndAccessObjectImpl.java 5 Aug 2008 21:25:45 -0000 1.13.6.2 +++ src/java/com/sun/enterprise/admin/monitor/callflow/MethodEndAccessObjectImpl.java 3 Nov 2008 11:24:22 -0000 @@ -100,7 +100,7 @@ for (int i = 0 ; i /** @@ -95,7 +95,7 @@ public static final String TIME_STAMP_MILLIS = "TIME_STAMP_MILLIS"; - public static final String TIME_STAMP_MILLIS_TYPE = " BIGINT "; + public static final String TIME_STAMP_MILLIS_TYPE = " DOUBLE "; public static final String IP_ADDRESS = "IP_ADDRESS"; public static final String IP_ADDRESS_TYPE = " VARCHAR (15) "; Files Modified: ? build ? changes.txt ? filestouched.txt ? src/java/com/sun/enterprise/admin/monitor/callflow/utility.java M src/java/com/sun/enterprise/admin/monitor/callflow/DbAccessObjectImpl.java M src/java/com/sun/enterprise/admin/monitor/callflow/MethodEndAccessObjectImpl.java M src/java/com/sun/enterprise/admin/monitor/callflow/MethodStartAccessObjectImpl.java M src/java/com/sun/enterprise/admin/monitor/callflow/RequestEndAccessObjectImpl.java M src/java/com/sun/enterprise/admin/monitor/callflow/RequestStartAccessObjectImpl.java M src/java/com/sun/enterprise/admin/monitor/callflow/StartTimeAccessObjectImpl.java M src/java/com/sun/enterprise/admin/monitor/callflow/TableInfo.java