diff --git a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/JSONTraceGenerator.java b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/JSONTraceGenerator.java index 0aae591..08b967a 100644 --- a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/JSONTraceGenerator.java +++ b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/JSONTraceGenerator.java @@ -32,7 +32,7 @@ keys.add("lineNum"); values.add(lineNum); keys.add("time"); values.add(timeStamp); return "$proceed($$); " + - Tracer.TRACER + "MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + Tracer.TRACER + "OfflineTraceOutput.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } @Override @@ -52,7 +52,7 @@ keys.add("lineNum"); values.add(lineNum); keys.add("time"); values.add(timeStamp); return "$_ = $proceed(); " + - Tracer.TRACER + "MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + Tracer.TRACER + "OfflineTraceOutput.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } @@ -69,7 +69,7 @@ keys.add("lineNum"); values.add(lineNum); keys.add("time"); values.add(timeStamp); return "$_ = $proceed($$); " + - Tracer.TRACER + "MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + Tracer.TRACER + "OfflineTraceOutput.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } @Override @@ -98,7 +98,7 @@ keys.add("args"); values.add(generateJSONArrayGenerator(argList)); keys.add("threadId"); values.add(threadId); keys.add("time"); values.add(timeStamp); - return Tracer.TRACER + "MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + return Tracer.TRACER + "OfflineTraceOutput.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } @Override @@ -120,7 +120,7 @@ keys.add("returnValue"); values.add(generateJSONObjectGenerator(returnedClass, returnedObject)); keys.add("threadId"); values.add(threadId); keys.add("time"); values.add(timeStamp); - return Tracer.TRACER + "MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + return Tracer.TRACER + "OfflineTraceOutput.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } @Override @@ -131,7 +131,7 @@ keys.add("callerSideSignature"); values.add(DQ_GEN + " + \"" + m.getLongName().replace('$', '.') + "\" + " + DQ_GEN); // AspectJ�ł̓��\�b�h�V�O�j�`�����ł͖����N���X�̓h�b�g�ŋ�؂��� keys.add("threadId"); values.add(threadId); keys.add("lineNum"); values.add(lineNum); - return Tracer.TRACER + "MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + return Tracer.TRACER + "OfflineTraceOutput.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } @Override @@ -149,7 +149,7 @@ keys.add("threadId"); values.add(threadId); keys.add("lineNum"); values.add(lineNum); keys.add("time"); values.add(timeStamp); - return Tracer.TRACER + "MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + return Tracer.TRACER + "OfflineTraceOutput.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } @Override @@ -160,7 +160,7 @@ keys.add("name"); values.add(DQ_GEN + " + " + className + " + " + DQ_GEN); keys.add("path"); values.add(DQ_GEN + " + " + classPath + " + " + DQ_GEN); keys.add("loaderPath"); values.add(DQ_GEN + " + " + loaderPath + " + " + DQ_GEN); - return Tracer.TRACER + "MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + return Tracer.TRACER + "OfflineTraceOutput.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } private String generateJSONObjectGenerator(String className, String objectId) { @@ -201,7 +201,7 @@ keys.add("value"); values.add(generateJSONObjectOutput(valueType, valueId)); keys.add("threadId"); values.add(Long.toString(threadId)); keys.add("time"); values.add(Long.toString(timeStamp)); - MyPrintStream.println(generateJSONMapOutput(keys, values) + ","); + OfflineTraceOutput.println(generateJSONMapOutput(keys, values) + ","); } public static void arrayGetOutput(String arrayType, String arrayId, int index, String valueType, String valueId, long threadId, long timeStamp) { @@ -213,7 +213,7 @@ keys.add("value"); values.add(generateJSONObjectOutput(valueType, valueId)); keys.add("threadId"); values.add(Long.toString(threadId)); keys.add("time"); values.add(Long.toString(timeStamp)); - MyPrintStream.println(generateJSONMapOutput(keys, values) + ","); + OfflineTraceOutput.println(generateJSONMapOutput(keys, values) + ","); } private static String generateJSONObjectOutput(String className, String objectId) { diff --git a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/MyPrintStream.java b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/MyPrintStream.java deleted file mode 100644 index 10872bd..0000000 --- a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/MyPrintStream.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.ntlab.traceCollector.tracer; - -import java.io.PrintStream; -import java.util.concurrent.ConcurrentLinkedQueue; - -/** - * �g���[�X�o�͗p���[�e�B���e�B - * - * @author Nitta - * - */ -public class MyPrintStream extends Thread { - private static MyPrintStream theInstance; - private static ConcurrentLinkedQueue output; - private static String s = null; - private static PrintStream sysout = null; - - private static MyPrintStream getInstance() { - if (theInstance == null) { - theInstance = new MyPrintStream(); - output = new ConcurrentLinkedQueue(); - sysout = System.out; - Runtime.getRuntime().addShutdownHook(theInstance); // �V���b�g�_�E���p - } - return theInstance; - } - - public static void print(int n) { - getInstance()._print(n); - } - - public static void print(String s) { - getInstance()._print(s); - } - - public static void println() { - getInstance()._println(); - } - - public static void println(String s) { - getInstance()._println(s); - } - - public void run() { - // �V���b�g�_�E����A�g���[�X���o�͂��� - for (String s: output) { - sysout.println(s); - } - } - - private synchronized void _print(int n) { - if (s == null) { - s = Integer.toString(n); - } else { - s += n; - } - } - - private synchronized void _print(String s1) { - if (s == null) { - s = s1; - } else { - s += s1; - } - } - - private synchronized void _println() { - if (s == null) { - s = ""; - } - output.add(s); - s = null; - } - - private synchronized void _println(String s1) { - if (s == null) { - s = s1; - } else { - s += s1; - } - output.add(s); - s = null; - } -} diff --git a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/OfflineTraceOutput.java b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/OfflineTraceOutput.java new file mode 100644 index 0000000..d25e2a0 --- /dev/null +++ b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/OfflineTraceOutput.java @@ -0,0 +1,84 @@ +package org.ntlab.traceCollector.tracer; + +import java.io.PrintStream; +import java.util.concurrent.ConcurrentLinkedQueue; + +/** + * �g���[�X�o�͗p���[�e�B���e�B + * + * @author Nitta + * + */ +public class OfflineTraceOutput extends Thread { + private static OfflineTraceOutput theInstance; + private static ConcurrentLinkedQueue output; + private static String s = null; + private static PrintStream sysout = null; + + private static OfflineTraceOutput getInstance() { + if (theInstance == null) { + theInstance = new OfflineTraceOutput(); + output = new ConcurrentLinkedQueue(); + sysout = System.out; + Runtime.getRuntime().addShutdownHook(theInstance); // �V���b�g�_�E���p + } + return theInstance; + } + + public static void print(int n) { + getInstance()._print(n); + } + + public static void print(String s) { + getInstance()._print(s); + } + + public static void println() { + getInstance()._println(); + } + + public static void println(String s) { + getInstance()._println(s); + } + + public void run() { + // �V���b�g�_�E����A�g���[�X���o�͂��� + for (String s: output) { + sysout.println(s); + } + } + + private synchronized void _print(int n) { + if (s == null) { + s = Integer.toString(n); + } else { + s += n; + } + } + + private synchronized void _print(String s1) { + if (s == null) { + s = s1; + } else { + s += s1; + } + } + + private synchronized void _println() { + if (s == null) { + s = ""; + } + output.add(s); + s = null; + } + + private synchronized void _println(String s1) { + if (s == null) { + s = s1; + } else { + s += s1; + } + output.add(s); + s = null; + } +} diff --git a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/PlainTextTraceGenerator.java b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/PlainTextTraceGenerator.java index 6d13f65..e9c2400 100644 --- a/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/PlainTextTraceGenerator.java +++ b/org.ntlab.traceCollector/src/org/ntlab/traceCollector/tracer/PlainTextTraceGenerator.java @@ -21,7 +21,7 @@ String fieldName, String containerClass, String containerObject, String valueClass, String valueObject, String threadId, String lineNum, String timeStamp) { return "$proceed($$); " + - Tracer.TRACER + "MyPrintStream.println(\"set:\" + " + containerClass + " + \":\" + " + containerObject + " + \":\" + " + + Tracer.TRACER + "OfflineTraceOutput.println(\"set:\" + " + containerClass + " + \":\" + " + containerObject + " + \":\" + " + valueClass + " + \":\" + " + valueObject + " + " + LINE_AND_THREAD + threadId + ");"; } @@ -30,7 +30,7 @@ String fieldName, String thisClass, String thisObject, String containerClass, String containerObject, String valueClass, String valueObject, String threadId, String lineNum, String timeStamp) { return "$_ = $proceed(); " + - Tracer.TRACER + "MyPrintStream.println(\"get:\" + " + thisClass + " + \":\" + " + thisObject + " + \":\" + " + + Tracer.TRACER + "OfflineTraceOutput.println(\"get:\" + " + thisClass + " + \":\" + " + thisObject + " + \":\" + " + containerClass + " + \":\" + " + containerObject + " + \":\" + " + valueClass + " + \":\" + " + valueObject + " + " + LINE_AND_THREAD + threadId + ");"; } @@ -52,7 +52,7 @@ String classOutput = ""; String argsOutput = ""; // �����̏o�� - String delimiter = Tracer.TRACER + "MyPrintStream.println(\"Args:\" + "; + String delimiter = Tracer.TRACER + "OfflineTraceOutput.println(\"Args:\" + "; for (int p = 0; p < argClasses.size(); p++) { argsOutput += delimiter + argClasses.get(p) + " + \":\" + " + argObjects.get(p); delimiter = " + \":\" + "; @@ -62,11 +62,11 @@ } if (m instanceof CtConstructor) { // �R���X�g���N�^�̏ꍇ - newOutput = Tracer.TRACER + "MyPrintStream.println(\"New \" + " + thisClass + " + \":\" + " + thisObject + " + " + LINE_AND_THREAD + threadId + ");"; + newOutput = Tracer.TRACER + "OfflineTraceOutput.println(\"New \" + " + thisClass + " + \":\" + " + thisObject + " + " + LINE_AND_THREAD + threadId + ");"; } - methodOutput = Tracer.TRACER + "MyPrintStream.println(\"Method \" + " + thisClass + " + \",\" + " + methodSignature + methodOutput = Tracer.TRACER + "OfflineTraceOutput.println(\"Method \" + " + thisClass + " + \",\" + " + methodSignature + " + \":\" + " + thisObject + " + " + LINE + " + " + timeStamp + " + \":ThreadNo \" + " + threadId + ");"; - classOutput = Tracer.TRACER + "MyPrintStream.println(\"Class \" + " + thisClass + " + \":\" + " + thisObject + " + " + LINE_AND_THREAD + threadId + ");"; + classOutput = Tracer.TRACER + "OfflineTraceOutput.println(\"Class \" + " + thisClass + " + \":\" + " + thisObject + " + " + LINE_AND_THREAD + threadId + ");"; return newOutput + methodOutput + classOutput + argsOutput; } @@ -94,8 +94,8 @@ } } - String returnOutput = Tracer.TRACER + "MyPrintStream.print(\"Return " + invocationType + "(" + shortName + "):\" + " + returnedClass + " + \":\" + " + returnedObject + " + \":\");" + - Tracer.TRACER + "MyPrintStream.println(\"\" + " + thisObject + " + " + LINE_AND_THREAD + threadId + ");"; + String returnOutput = Tracer.TRACER + "OfflineTraceOutput.print(\"Return " + invocationType + "(" + shortName + "):\" + " + returnedClass + " + \":\" + " + returnedObject + " + \":\");" + + Tracer.TRACER + "OfflineTraceOutput.println(\"\" + " + thisObject + " + " + LINE_AND_THREAD + threadId + ");"; return returnOutput; }