Author: thomasm
Date: Wed Feb 21 10:50:07 2018
New Revision: 1824956

URL: http://svn.apache.org/viewvc?rev=1824956&view=rev
Log:
OAK-4521 Oak-run: add profiling and analysis tools

Modified:
    
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ThreadDumpCommand.java
    
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/threadDump/ThreadDumpCleaner.java

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ThreadDumpCommand.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ThreadDumpCommand.java?rev=1824956&r1=1824955&r2=1824956&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ThreadDumpCommand.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ThreadDumpCommand.java
 Wed Feb 21 10:50:07 2018
@@ -36,6 +36,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.zip.GZIPInputStream;
 import java.util.zip.ZipException;
+import java.util.zip.ZipInputStream;
 
 import joptsimple.OptionParser;
 import joptsimple.OptionSet;
@@ -133,7 +134,7 @@ public class ThreadDumpCommand implement
 
     private static File combineAndExpandFiles(File file) throws IOException {
         if (!file.exists() || !file.isDirectory()) {
-            if (!file.getName().endsWith(".gz")) {
+            if (!file.getName().endsWith(".gz") && 
!file.getName().endsWith(".zip")) {
                 return file;
             }
         }
@@ -176,7 +177,7 @@ public class ThreadDumpCommand implement
             writer.write("file " + file.getAbsolutePath() + "\n");
             writer.write("lastModified " + fileModifiedTime + "\n");
             if (file.getName().endsWith(".gz")) {
-                System.out.println("Extracting " + file.getAbsolutePath());
+                // System.out.println("Extracting " + file.getAbsolutePath());
                 InputStream fileStream = new FileInputStream(file);
                 try {
                     InputStream gzipStream = new GZIPInputStream(fileStream);
@@ -185,6 +186,9 @@ public class ThreadDumpCommand implement
                     fileStream.close();
                     return 0;
                 }
+            } else if (file.getName().endsWith(".zip")) {
+                System.out.println("Warning: file skipped. Please extract 
first: " + file.getName());
+                return 0;
             } else {
                 System.out.println("Reading " + file.getAbsolutePath());
                 reader = new FileReader(file);
@@ -212,7 +216,7 @@ public class ThreadDumpCommand implement
             }
             if (fullThreadDumps > 0) {
                 count++;
-                System.out.println("    (contains " + fullThreadDumps + " full 
thread dumps; " + fileModifiedTime + ")");
+                // System.out.println("    (contains " + fullThreadDumps + " 
full thread dumps; " + fileModifiedTime + ")");
             }
         } finally {
             if(reader != null) {

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/threadDump/ThreadDumpCleaner.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/threadDump/ThreadDumpCleaner.java?rev=1824956&r1=1824955&r2=1824956&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/threadDump/ThreadDumpCleaner.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/threadDump/ThreadDumpCleaner.java
 Wed Feb 21 10:50:07 2018
@@ -80,7 +80,7 @@ public class ThreadDumpCleaner {
 
         "\".*?\".*?\n   java.lang.Thread.State:.*\n\t" +
                 "at 
sun.nio.ch.WindowsSelectorImpl\\$SubSelector.poll0(?s).*?\n\n",
-                
+
         "\".*?\".*?\n   java.lang.Thread.State:.*\n\t" +
                 "at sun.management.ThreadImpl.dumpThreads0(?s).*?\n\n",
 
@@ -107,7 +107,7 @@ public class ThreadDumpCleaner {
             PATTERNS.add(Pattern.compile(s));
         }
     }
-    
+
     public static File process(File file) throws IOException {
         String fileName = file.getName();
         if (fileName.endsWith(".txt")) {
@@ -115,7 +115,7 @@ public class ThreadDumpCleaner {
         }
         File target = new File(file.getParentFile(), fileName + 
".filtered.txt");
         PrintWriter writer = new PrintWriter(new BufferedWriter(
-                new FileWriter(target)));       
+                new FileWriter(target)));
         try {
             processFile(file, writer);
         } finally {
@@ -123,7 +123,7 @@ public class ThreadDumpCleaner {
         }
         return target;
     }
-    
+
     private static void processFile(File file, PrintWriter writer) throws 
IOException {
         LineNumberReader r = new LineNumberReader(new BufferedReader(
                 new FileReader(file)));
@@ -144,7 +144,7 @@ public class ThreadDumpCleaner {
             }
             if (line.startsWith("Full thread dump") || line.startsWith("Full 
Java thread dump")) {
                 if (activeThreadCount > 0) {
-                    System.out.println("Active threads: " + activeThreadCount);
+                    // System.out.println("Active threads: " + 
activeThreadCount);
                 }
                 activeThreadCount = 0;
             }


Reply via email to