From 201e13caed8dc9030e0f2b685b04da65aa7d544b Mon Sep 17 00:00:00 2001 From: jooyoul_lee Date: Thu, 9 Jan 2014 14:14:29 +0900 Subject: [PATCH] [Title] multi-process drop log filter added [Desc.] OspMain check - C++ type app (tizen app) [Issue] --- .../swap/callstack/SWAPCallStackManager.java | 11 ++++++----- .../swap/channel/data/ProcessInfoPackage.java | 9 +++++++++ .../dynamicanalyzer/swap/logparser/MessageParser.java | 3 +-- .../dynamicanalyzer/swap/logparser/SWAPLogParser.java | 19 ++++++------------- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/SWAPCallStackManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/SWAPCallStackManager.java index ca70686..9686a6c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/SWAPCallStackManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/SWAPCallStackManager.java @@ -236,10 +236,12 @@ public class SWAPCallStackManager extends BaseCallstackManager { .println("makeUserCallstack : EXIT self is not the same as top of user callstack"); } if (AnalyzerManager.isOsp()) { - // String apiName = input[LogCenterConstants.APINAME_INDEX]; String apiName = log.getApiName(); if (apiName.equals("OspMain")) { //$NON-NLS-1$ - SWAPLogParser.setDropCallTraceLog(true); + ProcessInfoPackage processInfoPkg = AnalyzerManager + .getProject().getProcessInfo(log.getPid()); + // SWAPLogParser.setDropCallTraceLog(true); + processInfoPkg.setDropLog(true); } } } @@ -373,8 +375,7 @@ public class SWAPCallStackManager extends BaseCallstackManager { .getPid()); HashMap dupUserCallMap = getDupUserCallByTidMap(); - boolean isPieBuild = isPieBuild(input.getPid(), - input.getTime()); + boolean isPieBuild = isPieBuild(input.getPid(), input.getTime()); String baseAddr = Long.toString(AnalyzerManager.getProject() .getBaseAddress(input.getPid(), log.getTime())); String sourceBinPath = AnalyzerUtil.getBinarySourcePath(input.getPid(), @@ -469,7 +470,7 @@ public class SWAPCallStackManager extends BaseCallstackManager { return false; } } - + public boolean isPieBuild(int pid, long time) { ProcessInfoPackage processInfoPkg = AnalyzerManager.getProject() .getProcessInfo(pid); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfoPackage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfoPackage.java index 272e85c..5d215a6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfoPackage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfoPackage.java @@ -11,6 +11,7 @@ public class ProcessInfoPackage { private int ppid = -1; private String targetBinaryPath = null; private int functionEntryInsertLogCount = 0; + private boolean dropLog = false; private List processSnapshots = new ArrayList(); @@ -84,4 +85,12 @@ public class ProcessInfoPackage { public void addFunctionEntryInsertLogCount() { this.functionEntryInsertLogCount++; } + + public boolean isDropLog() { + return dropLog; + } + + public void setDropLog(boolean dropLog) { + this.dropLog = dropLog; + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java index c2b3da6..bd3eea9 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java @@ -60,7 +60,6 @@ import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; import org.tizen.dynamicanalyzer.swap.model.data.LogDataUtils; import org.tizen.dynamicanalyzer.ui.thread.ThreadChartManager; -import org.tizen.dynamicanalyzer.ui.thread.thread.ThreadPageThreadDataManager; import org.tizen.dynamicanalyzer.ui.toolbar.StopLogProcessor; import org.tizen.dynamicanalyzer.ui.toolbar.StopProcessManager; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; @@ -250,7 +249,7 @@ public class MessageParser { String applicationType = DACommunicator.getSelectedApp().getInfo( AppInfo.APPTYPE_INDEX); if (applicationType.contains(AppInfo.APPTYPE_CPP)) { - SWAPLogParser.setDropCallTraceLog(true); + pInfoPack.setDropLog(true); } AnalyzerManager.setProcessInfoArrived(true); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java index c2c38b4..50e4fab 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java @@ -66,7 +66,7 @@ public class SWAPLogParser implements Runnable { private static Thread logParser = null; // default false, turn on when Tizen C++ app // private static boolean dropCallTraceLog = true; - private static boolean dropCallTraceLog = false; +// private static boolean dropCallTraceLog = false; private static LogQueue logQueue = null; private int SMALL_IMG_WIDTH = 40; @@ -82,14 +82,6 @@ public class SWAPLogParser implements Runnable { return logQueue; } - public static void setDropCallTraceLog(boolean drop) { - dropCallTraceLog = drop; - } - - public static boolean isDropCallTraceLog() { - return dropCallTraceLog; - } - public static synchronized void startLogParser() { getLogQueue().clear(); // why here? @@ -159,6 +151,9 @@ public class SWAPLogParser implements Runnable { ProfileData pData = (ProfileData) log; long pcAddr = pData.getPcAddr(); + ProcessInfoPackage processInfoPkg = AnalyzerManager + .getProject().getProcessInfo(pData.getPid()); + String apiName = pData.getApiName(); if (null == apiName || apiName.isEmpty() || apiName.equals("_end")) { //$NON-NLS-1$ @@ -171,10 +166,10 @@ public class SWAPLogParser implements Runnable { } } - if (isDropCallTraceLog()) { + if (processInfoPkg.isDropLog()) { apiName = pData.getApiName(); if (apiName.contains(OSP_MAIN)) { - setDropCallTraceLog(false); + processInfoPkg.setDropLog(false); } else { continue; } @@ -186,8 +181,6 @@ public class SWAPLogParser implements Runnable { continue; } - ProcessInfoPackage processInfoPkg = AnalyzerManager - .getProject().getProcessInfo(pData.getPid()); ProcessInfo processInfo = processInfoPkg .getProcessInfo(pData.getTime()); -- 2.7.4