Update of /var/cvs/src/org/mmbase/storage/implementation/database
In directory james.mmbase.org:/tmp/cvs-serv26489

Modified Files:
        DatabaseStorageManager.java DatabaseStorageManagerFactory.java 
Log Message:
MMB-1780


See also: 
http://cvs.mmbase.org/viewcvs/src/org/mmbase/storage/implementation/database
See also: http://www.mmbase.org/jira/browse/MMB-1780


Index: DatabaseStorageManager.java
===================================================================
RCS file: 
/var/cvs/src/org/mmbase/storage/implementation/database/DatabaseStorageManager.java,v
retrieving revision 1.208
retrieving revision 1.209
diff -u -b -r1.208 -r1.209
--- DatabaseStorageManager.java 31 Jan 2009 07:48:36 -0000      1.208
+++ DatabaseStorageManager.java 31 Jan 2009 09:28:52 -0000      1.209
@@ -35,7 +35,7 @@
  *
  * @author Pierre van Rooden
  * @since MMBase-1.7
- * @version $Id: DatabaseStorageManager.java,v 1.208 2009/01/31 07:48:36 
michiel Exp $
+ * @version $Id: DatabaseStorageManager.java,v 1.209 2009/01/31 09:28:52 
michiel Exp $
  */
 public class DatabaseStorageManager implements StorageManager {
 
@@ -129,16 +129,16 @@
     public DatabaseStorageManager() {}
 
     protected final long getLogStartTime() {
-        return System.currentTimeMillis();
+        return System.nanoTime();
     }
 
 
     protected final void logQuery(String query, long startTime) {
-        long duration = System.currentTimeMillis() - startTime;
+        long duration = System.nanoTime() - startTime;
 
         if (log.isDebugEnabled()) {
             // This can probably by dropped, we log much nicer on 
org.mmbase.QUERIES now.
-            log.debug("Time:" + duration + " Query :" + query);
+            log.debug("Time:" + duration / 1000000 + " Query :" + query);
             if (log.isTraceEnabled()) {
                 log.trace(Logging.stackTrace());
             }
@@ -1922,7 +1922,7 @@
                 MMBase mmbase = factory.getMMBase();
                 String query = scheme.format(this, mmbase, 
mmbase.getTypeDef().getField("number"), numberValue);
                 Statement s = activeConnection.createStatement();
-                long startTime = System.currentTimeMillis();
+                long startTime = getLogStartTime();
                 try {
                     ResultSet result = s.executeQuery(query);
                     if (result != null) {


Index: DatabaseStorageManagerFactory.java
===================================================================
RCS file: 
/var/cvs/src/org/mmbase/storage/implementation/database/DatabaseStorageManagerFactory.java,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -b -r1.55 -r1.56
--- DatabaseStorageManagerFactory.java  30 Jan 2009 20:07:33 -0000      1.55
+++ DatabaseStorageManagerFactory.java  31 Jan 2009 09:28:52 -0000      1.56
@@ -42,7 +42,7 @@
  *
  * @author Pierre van Rooden
  * @since MMBase-1.7
- * @version $Id: DatabaseStorageManagerFactory.java,v 1.55 2009/01/30 20:07:33 
michiel Exp $
+ * @version $Id: DatabaseStorageManagerFactory.java,v 1.56 2009/01/31 09:28:52 
michiel Exp $
  */
 public class DatabaseStorageManagerFactory extends 
StorageManagerFactory<DatabaseStorageManager> {
 
@@ -106,17 +106,29 @@
     /**
      * @since MMBase-1.9.1
      */
-    private int debugDuration   = 50;
-    private int serviceDuration = 100;
-    private int infoDuration    = 500;
-    private int warnDuration    = 2000;
-    private int errorDuration  = 5000;
-    private int fatalDuration  = 1000000;
+    static long MS = 1000000; // 1 ms in ns
+    private long debugDuration   = 50 * MS;
+    private long serviceDuration = 100 * MS;
+    private long infoDuration    = 500 * MS;
+    private long warnDuration    = 2000 * MS;
+    private long errorDuration  = 5000 * MS;
+    private long fatalDuration  = 1000000 * MS;
+    private String durationFormat = "#.#";
 
     final UtilReader.PropertiesMap<String> utilProperties =  new 
UtilReader("querylogging.xml",
                                                                             
new Runnable() {public void run() {readDurations(); }}).getProperties();
     private void readDurations() {
-        debugDuration   = Integer.parseInt(utilProperties.getProperty("debug", 
  "" + debugDuration));
+        debugDuration     = new 
Float(Float.parseFloat(utilProperties.getProperty("debug",   "" + 
debugDuration)) * MS).longValue();
+        serviceDuration   = new 
Float(Float.parseFloat(utilProperties.getProperty("service",   "" + 
debugDuration)) * MS).longValue();
+        infoDuration      = new 
Float(Float.parseFloat(utilProperties.getProperty("info",   "" + 
debugDuration)) * MS).longValue();
+        warnDuration      = new 
Float(Float.parseFloat(utilProperties.getProperty("warn",   "" + 
debugDuration)) * MS).longValue();
+        errorDuration     = new 
Float(Float.parseFloat(utilProperties.getProperty("error",   "" + 
debugDuration)) * MS).longValue();
+        fatalDuration     = new 
Float(Float.parseFloat(utilProperties.getProperty("fatal",   "" + 
debugDuration)) * MS).longValue();
+
+        durationFormat     = utilProperties.getProperty("durationFormat", 
durationFormat);
+    }
+    {
+        readDurations();
     }
 
     public double getVersion() {
@@ -467,10 +479,14 @@
         mes.append('#');
         mes.append(queries);
         mes.append("  ");
-        if (time < 10) mes.append(' ');
-        if (time < 100) mes.append(' ');
-        if (time < 1000) mes.append(' ');
-        mes.append(time);
+        float t = ((float) time) / MS;
+        //DecimalFormat format = new DecimalFormat(durationFormat, 
DecimalFormatSymbols.getInstance(java.util.Locale.US)); // java 1.6
+        DecimalFormat format = new DecimalFormat(durationFormat, new 
DecimalFormatSymbols(java.util.Locale.US));
+        String f = format.format(t);
+        for (int i = f.length() ; i < durationFormat.length() + 3; i++) {
+            mes.append(' ');
+        }
+        mes.append(f);
         mes.append(" ms: ").append(sql);
         return mes.toString();
     }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to