]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/AsyncBarrierImpl.java
Add more debug for AsyncBarrierImpl
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / graph / AsyncBarrierImpl.java
index 048d70b9f7046cf82c7306222098da041806436f..e37b9e8009a0f8b36951b0b4d117852d224f2c81 100644 (file)
@@ -27,7 +27,7 @@ public class AsyncBarrierImpl extends AtomicInteger implements AsyncBarrier {
 
     static final int WAIT_TIME = 60000;
 
-    public static final boolean PRINT = false;
+    public static final boolean PRINT = BarrierTracing.BOOKKEEPING && true;
 
     final AsyncBarrierImpl caller;
 
@@ -72,9 +72,9 @@ public class AsyncBarrierImpl extends AtomicInteger implements AsyncBarrier {
     void inc(Object id, String info) {
 
         if(PRINT) {
-            System.err.println("inc barrier[" + get() + "] " + this);
+            LOGGER.warn("inc barrier[" + get() + "] " + this);
             StackTraceElement[] elems = new Exception().getStackTrace();
-            for(int i=0;i<4;i++) System.err.println(elems[i]);
+            for(int i=0;i<4;i++) LOGGER.warn("{}", elems[i]);
         }
 
         if (incrementAndGet() == 1) {
@@ -93,9 +93,9 @@ public class AsyncBarrierImpl extends AtomicInteger implements AsyncBarrier {
     public void dec() {
 
         if(PRINT) {
-            System.err.println("dec barrier[" + get() + "] " + this);
+            LOGGER.warn("dec barrier[" + get() + "] " + this);
             StackTraceElement[] elems = new Exception().getStackTrace();
-            for(int i=0;i<3;i++) System.err.println(elems[i]);
+            for(int i=0;i<3;i++) LOGGER.warn("{}", elems[i]);
         }
 
         int count = decrementAndGet();
@@ -125,7 +125,7 @@ public class AsyncBarrierImpl extends AtomicInteger implements AsyncBarrier {
     public static String report(AsyncBarrierImpl barrier) {
         CacheEntry<?> e = BarrierTracing.entryMap.get(barrier);
         if(e != null) return e.toString();
-        else return "Barrier@" + System.identityHashCode(barrier);
+        else return "[" + barrier.get() + " requests]: Barrier@" + System.identityHashCode(barrier);
     }
 
     public static void printReverse(AsyncBarrierImpl barrier, int indent) {
@@ -134,7 +134,7 @@ public class AsyncBarrierImpl extends AtomicInteger implements AsyncBarrier {
             return;
         for (int i = 0; i < indent; i++)
             System.err.print(" ");
-        System.err.println("[" + barrier.get() + " requests]: " + report(barrier));
+        System.err.println(report(barrier));
 
         Collection<AsyncBarrierImpl> children = BarrierTracing.reverseLookup.get(barrier);
         if (children != null) {
@@ -169,7 +169,7 @@ public class AsyncBarrierImpl extends AtomicInteger implements AsyncBarrier {
                     LOGGER.warn("AsyncBarrierImpl.waitBarrier("
                             + request
                             + ") is taking long to execute, so far "
-                            + (waitCount / 1000) + " s.");
+                            + (waitCount / 1000) + " s. this.get() = " + get());
 
                     if (BarrierTracing.BOOKKEEPING) {
                         synchronized (BarrierTracing.reverseLookup) {