Преглед изворни кода

Merge branch 'master' of https://repo1.mydevil.net/git/priv/ranides/assira

Ranides Atterwim пре 10 година
родитељ
комит
16b7d05b78
2 измењених фајлова са 102 додато и 101 уклоњено
  1. 1 1
      assira1/pom.xml
  2. 101 100
      assira1/src/main/java/net/ranides/assira/trace/ThreadInspector.java

+ 1 - 1
assira1/pom.xml

@@ -105,7 +105,7 @@
                 </executions>
                 <configuration>
                     <links>
-                        <link>http://download.oracle.com/javase/1.6.0/docs/api/</link>
+                        <link>http://download.oracle.com/javase/8/docs/api/</link>
                     </links>
                     <version>true</version>
                     <show>public</show>

+ 101 - 100
assira1/src/main/java/net/ranides/assira/trace/ThreadInspector.java

@@ -1,100 +1,101 @@
-/*
- * @author Ranides Atterwim <ranides@gmail.com>
- * @copyright Ranides Atterwim
- * @license WTFPL
- * @url http://ranides.net/projects/assira
- */
-package net.ranides.assira.trace;
-
-import java.io.PrintStream;
-import java.lang.management.LockInfo;
-import java.lang.management.ManagementFactory;
-import java.lang.management.MonitorInfo;
-import java.lang.management.ThreadInfo;
-import java.lang.management.ThreadMXBean;
-import org.apache.log4j.Level;
-
-/**
- *
- * @author Ranides Atterwim <ranides@gmail.com>
- */
-public final class ThreadInspector {
-    
-    private static final String FQCN = ThreadInspector.class.getName();
-    
-    private ThreadInspector() {
-        // utility class
-    }
-    
-    public static ThreadInfo currentInfo() {
-        long[] cid = new long[]{ Thread.currentThread().getId() };
-        return Li.THREAD_INFO.getThreadInfo(cid, true, true)[0];
-    }
-    
-    public static void printLocks(PrintStream stream) {
-        ThreadInfo info = currentInfo();
-        stream.format("THREAD: %s 0x%08X%n", 
-            info.getThreadName(), 
-            info.getThreadId()
-        );
-        for(MonitorInfo item : info.getLockedMonitors()) {
-            stream.format(" - MONITOR : %s 0x%08X @ %s%n",
-                item.getClassName(),
-                item.getIdentityHashCode(),
-                item.getLockedStackFrame()
-            );
-        }
-        
-        for(LockInfo item : info.getLockedSynchronizers()) {
-            stream.format(" - LOCK : %s 0x%08X%n", 
-                item.getClassName(), 
-                item.getIdentityHashCode()
-            );
-        }
-        
-    }
-    
-    public static void logLocks(Level level, AdvLogger logger) {
-        if( !logger.isEnabledFor(level) ) {
-            return;
-        }
-        ThreadInfo info = currentInfo();
-        
-        if( 0 == info.getLockedMonitors().length && 0 == info.getLockedSynchronizers().length ) {
-            return;
-        }
-
-        logger.log(FQCN, level, String.format("THREAD: %s 0x%08X", 
-            info.getThreadName(), 
-            info.getThreadId()
-        ),null);
-        for(MonitorInfo item : info.getLockedMonitors()) {
-            logger.log(FQCN, level, String.format("MONITOR : %s 0x%08X @ %s",
-                item.getClassName(),
-                item.getIdentityHashCode(),
-                item.getLockedStackFrame()
-            ),null);
-        }
-        
-        for(LockInfo item : info.getLockedSynchronizers()) {
-            logger.log(FQCN, level, String.format("LOCK : %s 0x%08X", 
-                item.getClassName(), 
-                item.getIdentityHashCode()
-            ),null);
-        }
-        
-    }
-    
-    public static int countLocks() {
-        ThreadInfo info = currentInfo();
-        return
-            info.getLockedMonitors().length +
-            info.getLockedSynchronizers().length;
-    }
-    
-    private static final class Li { // NOPMD lazy init idiom 
-        
-        public static final ThreadMXBean THREAD_INFO = ManagementFactory.getThreadMXBean();
-    }
-    
-}
+/*
+ * @author Ranides Atterwim <ranides@gmail.com>
+ * @copyright Ranides Atterwim
+ * @license WTFPL
+ * @url http://ranides.net/projects/assira
+ */
+package net.ranides.assira.trace;
+
+import java.io.PrintStream;
+import java.lang.management.LockInfo;
+import java.lang.management.ManagementFactory;
+import java.lang.management.MonitorInfo;
+import java.lang.management.ThreadInfo;
+import java.lang.management.ThreadMXBean;
+import org.apache.log4j.Level;
+
+/**
+ *
+ * @author Ranides Atterwim <ranides@gmail.com>
+ * @todo (migration) assira #1
+ */
+public final class ThreadInspector {
+    
+    private static final String FQCN = ThreadInspector.class.getName();
+    
+    private ThreadInspector() {
+        // utility class
+    }
+    
+    public static ThreadInfo currentInfo() {
+        long[] cid = new long[]{ Thread.currentThread().getId() };
+        return Li.THREAD_INFO.getThreadInfo(cid, true, true)[0];
+    }
+    
+    public static void printLocks(PrintStream stream) {
+        ThreadInfo info = currentInfo();
+        stream.format("THREAD: %s 0x%08X%n", 
+            info.getThreadName(), 
+            info.getThreadId()
+        );
+        for(MonitorInfo item : info.getLockedMonitors()) {
+            stream.format(" - MONITOR : %s 0x%08X @ %s%n",
+                item.getClassName(),
+                item.getIdentityHashCode(),
+                item.getLockedStackFrame()
+            );
+        }
+        
+        for(LockInfo item : info.getLockedSynchronizers()) {
+            stream.format(" - LOCK : %s 0x%08X%n", 
+                item.getClassName(), 
+                item.getIdentityHashCode()
+            );
+        }
+        
+    }
+    
+    public static void logLocks(Level level, AdvLogger logger) {
+        if( !logger.isEnabledFor(level) ) {
+            return;
+        }
+        ThreadInfo info = currentInfo();
+        
+        if( 0 == info.getLockedMonitors().length && 0 == info.getLockedSynchronizers().length ) {
+            return;
+        }
+
+        logger.log(FQCN, level, String.format("THREAD: %s 0x%08X", 
+            info.getThreadName(), 
+            info.getThreadId()
+        ),null);
+        for(MonitorInfo item : info.getLockedMonitors()) {
+            logger.log(FQCN, level, String.format("MONITOR : %s 0x%08X @ %s",
+                item.getClassName(),
+                item.getIdentityHashCode(),
+                item.getLockedStackFrame()
+            ),null);
+        }
+        
+        for(LockInfo item : info.getLockedSynchronizers()) {
+            logger.log(FQCN, level, String.format("LOCK : %s 0x%08X", 
+                item.getClassName(), 
+                item.getIdentityHashCode()
+            ),null);
+        }
+        
+    }
+    
+    public static int countLocks() {
+        ThreadInfo info = currentInfo();
+        return
+            info.getLockedMonitors().length +
+            info.getLockedSynchronizers().length;
+    }
+    
+    private static final class Li { // NOPMD lazy init idiom 
+        
+        public static final ThreadMXBean THREAD_INFO = ManagementFactory.getThreadMXBean();
+    }
+    
+}