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;
}