INTERNAL: fix some exception and refactor PageDataManager 14/21814/1
authorgreatim <jaewon81.lim@samsung.com>
Wed, 28 May 2014 03:23:43 +0000 (12:23 +0900)
committergreatim <jaewon81.lim@samsung.com>
Wed, 28 May 2014 06:13:08 +0000 (15:13 +0900)
fix some exception occurred during save/load.
refactor PageDataManager and subclasses.

Change-Id: Iaa92c9548552d66f75d2b218aa227e1ba71bd6cd
Signed-off-by: greatim <jaewon81.lim@samsung.com>
Change-ID: If819551cb9624166d2621507b9f4b6d138a34335

18 files changed:
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/Streamable.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/PageDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SystemData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SystemLogFormat.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileChartManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/KernelDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/data/NetworkDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceProgressManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java

diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/Streamable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/Streamable.java
new file mode 100644 (file)
index 0000000..a6a3771
--- /dev/null
@@ -0,0 +1,15 @@
+package org.tizen.dynamicanalyzer.model;
+
+// this class is parent class of data class which is element of blocking queue.
+// this class has methods to confirm that is end of stream or not
+public abstract class Streamable {
+       private boolean endOfStream = false;
+       
+       public final boolean isEndOfStream() {
+               return endOfStream;
+       }
+       
+       public final void setEndOfStream() {
+               endOfStream = true;
+       }
+}
index 8fd3c4f..952ed42 100755 (executable)
@@ -30,9 +30,10 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 
+import org.tizen.dynamicanalyzer.model.Streamable;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 
-public class LogPackage {
+public class LogPackage extends Streamable {
        private HashMap<Integer, Logs> logMap;
 
        public void clear() {
index 68f4147..123bd49 100644 (file)
@@ -3,56 +3,88 @@ package org.tizen.dynamicanalyzer.swap.logparser;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
 
 import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
+import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.database.DBTable;
 import org.tizen.dynamicanalyzer.util.DALogger;
 
 public abstract class PageDataManager implements Runnable {
        private static final DALogger DA_LOG = DALogger.getInstance();
-       
+
        private String name = null;
        private Thread thread = null;
-       private ReadBlockingQueue<LogPackage> logPackQueue = new ReadBlockingQueue<LogPackage>();
+       private BlockingQueue<LogPackage> logPackQueue = new LinkedBlockingQueue<LogPackage>();
        private List<DBTable> dbTableList = new ArrayList<DBTable>();
 
+       private enum State {
+               NOT_RUNNING,
+               RUNNING,
+               TO_BE_STOPED
+       }
+
+       private State state = State.NOT_RUNNING;
+
        public final String getName() {
                if (name == null) {
                        name = getClass().getName();
                }
                return name;
        }
-
+       
        public final void updateLog(LogPackage logPack) {
-               logPackQueue.offer(logPack);
+               try {
+                       logPackQueue.put(logPack);
+               } catch (InterruptedException e) {
+                       e.printStackTrace();
+               }
        }
 
-       protected final LogPackage pollPack() {
-               return logPackQueue.poll();
+       private final LogPackage pollPack() {
+               LogPackage pack = null;
+               try {
+                       if (state == State.RUNNING)
+                               pack = logPackQueue.take();             // wait if empty
+                       else if (state == State.TO_BE_STOPED)
+                               pack = logPackQueue.poll();             // return null if empty
+               } catch (InterruptedException e) {
+                       e.printStackTrace();
+               }
+               
+               return pack;
        }
-       
+
        protected final void addDBTable(DBTable table) {
                dbTableList.add(table);
        }
-       
+
        public final List<DBTable> getDBTableList() {
                return dbTableList;
        }
-       
-       public final void startThread() {
+
+       public synchronized final void startThread() {
                if (thread == null || !thread.isAlive()) {
                        thread = new Thread(null, this, getName());
+                       state = State.RUNNING;
                        thread.start();
                }
        }
 
-       public final void stopThread() {
+       // "called stopThread" means that there is no more data
+       // coming in this page data manager 
+       // It means that this function should be called only in data offerer
+       // when all data offer is finished.
+       public synchronized final void stopThread() {
                if (thread != null && thread.isAlive()) {
                        try {
-                               onThreadStop();
+                               state = State.TO_BE_STOPED;
                                sendNotify();
                                thread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
+                               state = State.NOT_RUNNING;
                                thread = null;
+                               logPackQueue.clear();
                                DA_LOG.debug(getName() + " thread joined!"); //$NON-NLS-1$
                        } catch (InterruptedException e) {
                                e.printStackTrace();
@@ -67,17 +99,42 @@ public abstract class PageDataManager implements Runnable {
                return true;
        }
 
-       protected void sendNotify() {
-               logPackQueue.wake();
+       private void sendNotify() {
+               LogPackage endOfStream = new LogPackage();
+               endOfStream.setEndOfStream();
+               
+               try {
+                       logPackQueue.put(endOfStream);
+               } catch (InterruptedException e) {
+                       e.printStackTrace();
+               }
        }
-       
+
+       @Override
+       public final void run() {
+               while (!AnalyzerManager.isExit()) {
+                       LogPackage pack = pollPack();
+                       if (null == pack || pack.isEndOfStream()) // stop thread
+                               break;
+
+                       makeData(pack);
+               }
+               
+               onThreadStop();
+
+               /* log for debug */
+               DA_LOG.debug(getName() + " thread end!!"); //$NON-NLS-1$
+       }
+
+       protected abstract void makeData(LogPackage pack);
+
        protected void onThreadStop() {
        }
-       
-       protected void saveData(Map<String, String> dataMap) {
+
+       public void saveData(Map<String, String> dataMap) {
        }
-       
-       protected void openData(Map<String, String> dataMap) {
+
+       public void openData(Map<String, String> dataMap) {
        }
-       
+
 }
index 9c04337..aefac16 100644 (file)
@@ -34,7 +34,6 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 
 import org.tizen.dynamicanalyzer.common.GlobalInformation;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
 import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
 
@@ -78,8 +77,8 @@ public class SystemData extends LogData {
        String deviceEnergyUsage = null;
        String applicationEnergyUsage = null;
 
-       int callAlpha = 0;
-       int rssiAlpha = 0;
+//     int callAlpha = 0;
+//     int rssiAlpha = 0;
 
        public SystemData() {
        }
@@ -539,21 +538,21 @@ public class SystemData extends LogData {
                this.diskWrittenSectorCount = diskWrittenSectorCount;
        }
 
-       public int getCallAlpha() {
-               return callAlpha;
-       }
-
-       public void setCallAlpha(int callAlpha) {
-               this.callAlpha = callAlpha;
-       }
-
-       public int getRssiAlpha() {
-               return rssiAlpha;
-       }
-
-       public void setRssiAlpha(int rssiAlpha) {
-               this.rssiAlpha = rssiAlpha;
-       }
+//     public int getCallAlpha() {
+//             return callAlpha;
+//     }
+//
+//     public void setCallAlpha(int callAlpha) {
+//             this.callAlpha = callAlpha;
+//     }
+//
+//     public int getRssiAlpha() {
+//             return rssiAlpha;
+//     }
+//
+//     public void setRssiAlpha(int rssiAlpha) {
+//             this.rssiAlpha = rssiAlpha;
+//     }
 
        public int getEnergyUsage() {
                return energyUsage;
@@ -620,9 +619,10 @@ public class SystemData extends LogData {
                prep.setInt(index++, call);
                prep.setInt(index++, dnet);
                prep.setInt(index++, energyUsage);
-
-               prep.setInt(index++, callAlpha);
-               prep.setInt(index++, rssiAlpha);
+               prep.setString(index++, deviceEnergyUsage);
+               prep.setString(index++, applicationEnergyUsage);
+//             prep.setInt(index++, callAlpha);
+//             prep.setInt(index++, rssiAlpha);
        }
 
        @Override
@@ -664,9 +664,10 @@ public class SystemData extends LogData {
                call = rs.getInt(index++);
                dnet = rs.getInt(index++);
                energyUsage = rs.getInt(index++);
-
-               callAlpha = rs.getInt(index++);
-               rssiAlpha = rs.getInt(index++);
+               deviceEnergyUsage = rs.getString(index++);
+               applicationEnergyUsage = rs.getString(index++);
+//             callAlpha = rs.getInt(index++);
+//             rssiAlpha = rs.getInt(index++);
        }
 
        @Override
index 1967b59..48bedd8 100644 (file)
@@ -50,7 +50,7 @@ public class SystemLogFormat extends LogFormat {
                                "NetworkReceiveSize","WiFi", "BlueTooth", "GPS", "Brightness",
                                "Camera", "Sound","Audio", "Vibration", "Voltage",
                                "Rssi", "Video", "CallValue","Dnet", "Energy",
-                               "CallAlpha", "RssiAlpha"};
+                               "EnergyPerDevice", "AppEnergyPerDevice"};
                dbColumnNames = new ArrayList<String>();
                dbColumnNames.addAll(HeaderColumns.getDBColumnNames());
                dbColumnNames.addAll(Arrays.asList(dcn));
@@ -63,7 +63,7 @@ public class SystemLogFormat extends LogFormat {
                                I, I, I, I, I,
                                I, I, I, I, I,
                                I,  I, I,
-                               I, I, I};
+                               I, T, T};
                dbColumnTypes = new ArrayList<Integer>();
                dbColumnTypes.addAll(HeaderColumns.getDBColumntypes());
                dbColumnTypes.addAll(Arrays.asList(dct));
@@ -76,7 +76,7 @@ public class SystemLogFormat extends LogFormat {
                                "Disk Sectors Written", "Network Send Size,", "Network Receive Size",
                                "WiFi", "BlueTooth", "GPS", "Brightness", "Camera", "Sound",
                                "Audio", "Vibration", "Voltage", "Rssi", "Video", "Call",
-                               "Dnet", "Energy", "CallAlpha", "RssiAlpha"  };
+                               "Dnet", "Energy", "Energy Usage Per Devices", "Application Energy Usage"  };
                tableColumnNames = new ArrayList<String>();
                tableColumnNames.addAll(HeaderColumns.getTableColumnNames());
                tableColumnNames.addAll(Arrays.asList(tcn));
@@ -89,7 +89,7 @@ public class SystemLogFormat extends LogFormat {
                                I, I, I, I, I,
                                I, I, I, I, I,
                                I,  I, I,
-                               I, I, I}; 
+                               I, S, S}; 
                logColumnTypes = new ArrayList<Integer>();
                logColumnTypes.addAll(HeaderColumns.getLogColumnTypes());
                logColumnTypes.addAll(Arrays.asList(types));
index 6d3d639..8b53edf 100644 (file)
@@ -35,11 +35,8 @@ import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
 import org.tizen.dynamicanalyzer.swap.logparser.Logs;
 import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
-import org.tizen.dynamicanalyzer.util.DALogger;
 
 public class FileChartManager extends PageDataManager {
-       private static final DALogger DA_LOG = DALogger.getInstance();
-
        private FileDataMaker fileDataMaker = null;
        private static FileChartManager instance = null;
 
@@ -60,24 +57,6 @@ public class FileChartManager extends PageDataManager {
                return fileDataMaker;
        }
 
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if(pack == null)        // end of thread
-                               break;
-                       
-                       Logs logs = pack.getLogs(DataChannelConstants.MSG_PROBE_FILE);
-                       if (null != logs && (logs.getRawLogs().size() != 0)) {
-                               List<LogData> inputs = logs.getLogs();
-                               getFileDataMaker().makeData(inputs);
-                       }
-               }
-
-               /* log for debug */
-               DA_LOG.debug(getName() + " thread end!!"); //$NON-NLS-1$
-       }
-
        public void clear() {
                instance = null;
                fileDataMaker.clear();
@@ -125,4 +104,13 @@ public class FileChartManager extends PageDataManager {
                }
                return false;
        }
+
+       @Override
+       protected void makeData(LogPackage pack) {
+               Logs logs = pack.getLogs(DataChannelConstants.MSG_PROBE_FILE);
+               if (null != logs && (logs.getRawLogs().size() != 0)) {
+                       List<LogData> inputs = logs.getLogs();
+                       getFileDataMaker().makeData(inputs);
+               }
+       }
 }
index dc39b4a..bf3d51f 100644 (file)
@@ -35,22 +35,14 @@ import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
 import org.tizen.dynamicanalyzer.swap.logparser.Logs;
 import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
-import org.tizen.dynamicanalyzer.swap.model.data.ProfileData;
-import org.tizen.dynamicanalyzer.ui.file.FileChartData;
 import org.tizen.dynamicanalyzer.ui.file.data.FileAccessDB;
 import org.tizen.dynamicanalyzer.ui.file.data.FileApiDB;
 import org.tizen.dynamicanalyzer.ui.file.data.FileStatusDB;
 import org.tizen.dynamicanalyzer.ui.file.manager.FileChartDataMaker;
-import org.tizen.dynamicanalyzer.ui.file.model.FileAccess;
 import org.tizen.dynamicanalyzer.ui.file.model.FileEvent;
-import org.tizen.dynamicanalyzer.ui.file.model.FileStatus;
-import org.tizen.dynamicanalyzer.ui.network.data.type.NetworkSeriesType;
-import org.tizen.dynamicanalyzer.util.DALogger;
 
 
 public class FileChartManager extends PageDataManager {
-       private static final DALogger DA_LOG = DALogger.getInstance();
-       
        private static FileChartManager instance = null;
        private static FileChartDataMaker dataMaker = null;
        
@@ -106,25 +98,6 @@ public class FileChartManager extends PageDataManager {
                return statusDB;
        }
        
-       /*** make network data thread ***/
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if (pack == null) // stop thread
-                               break;
-                       
-                       // TODO Change to get data from syscalls message and probe message
-                       Logs logs = pack.getLogs(DataChannelConstants.MSG_PROBE_FILE);
-                       if (null != logs && logs.getRawLogs().size() != 0) {
-                               List<LogData> inputs = logs.getLogs();
-                               dataMaker.makeData(inputs);
-                       }
-
-               }
-               DA_LOG.info(getName() + " thread end!!");
-       }
-
        public void openProcess() {
                // TODO
        }
@@ -155,4 +128,15 @@ public class FileChartManager extends PageDataManager {
                this.selectedTableAPIList = selectedTableAPIList;
        }
 
+       /*** make network data thread ***/
+       @Override
+       protected void makeData(LogPackage pack) {
+               // TODO Change to get data from syscalls message and probe message
+               Logs logs = pack.getLogs(DataChannelConstants.MSG_PROBE_FILE);
+               if (null != logs && logs.getRawLogs().size() != 0) {
+                       List<LogData> inputs = logs.getLogs();
+                       dataMaker.makeData(inputs);
+               }
+       }
+
 }
index 9e71193..e450664 100644 (file)
@@ -3,7 +3,6 @@ package org.tizen.dynamicanalyzer.ui.info.screenshot;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
@@ -11,11 +10,8 @@ import org.tizen.dynamicanalyzer.swap.logparser.Logs;
 import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.SystemData;
-import org.tizen.dynamicanalyzer.util.DALogger;
 
 public class ScreenshotDataManager extends PageDataManager {
-       private static final DALogger DA_LOG = DALogger.getInstance();
-       
        private static ScreenshotDataManager instance = null;
        private List<Long> lastCpuRate = null;
        private int lastProcessMemory = 0;
@@ -32,34 +28,6 @@ public class ScreenshotDataManager extends PageDataManager {
                return instance;
        }
 
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if(pack == null)        // stop thread
-                               break;
-                       
-                       Logs logs = pack.getLogs(DataChannelConstants.MSG_DATA_SYSTEM);
-                       if (null != logs && null != logs.getRawLogs()   && !logs.getRawLogs().isEmpty()) {
-                               List<LogData> inputs = logs.getRawLogs();
-                               int lastIndex = inputs.size() - 1;
-                               SystemData input = (SystemData) inputs.get(lastIndex);
-                               
-                               String[] cpuRates = input.getCpuLoad().split(CommonConstants.COMMA);
-                               for (int i = 0; i < cpuRates.length - 1; i++) {
-                                       String cpu = cpuRates[i].trim();
-                                       lastCpuRate.add(new Long((long)Float.parseFloat(cpu)));
-                               }
-                               
-                               lastProcessMemory = input.getResidentMemory();
-                               lastStartTime = input.getTime();
-                       }
-               }
-               
-               /* log for debug */
-               DA_LOG.debug(getName() + " thread end!!"); //$NON-NLS-1$
-       }
-
        public List<Long> getLastCpuRate() {
                return lastCpuRate;
        }
@@ -71,4 +39,23 @@ public class ScreenshotDataManager extends PageDataManager {
        public long getLastStartTime() {
                return lastStartTime;
        }
+
+       @Override
+       protected void makeData(LogPackage pack) {
+               Logs logs = pack.getLogs(DataChannelConstants.MSG_DATA_SYSTEM);
+               if (null != logs && null != logs.getRawLogs()   && !logs.getRawLogs().isEmpty()) {
+                       List<LogData> inputs = logs.getRawLogs();
+                       int lastIndex = inputs.size() - 1;
+                       SystemData input = (SystemData) inputs.get(lastIndex);
+                       
+                       String[] cpuRates = input.getCpuLoad().split(CommonConstants.COMMA);
+                       for (int i = 0; i < cpuRates.length - 1; i++) {
+                               String cpu = cpuRates[i].trim();
+                               lastCpuRate.add(new Long((long)Float.parseFloat(cpu)));
+                       }
+                       
+                       lastProcessMemory = input.getResidentMemory();
+                       lastStartTime = input.getTime();
+               }
+       }
 }
index dab7c9e..38332e4 100644 (file)
@@ -30,7 +30,6 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.PriorityQueue;
-import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.database.DBTable;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
@@ -38,11 +37,8 @@ import org.tizen.dynamicanalyzer.swap.logparser.Logs;
 import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.LogDataTimeComparator;
-import org.tizen.dynamicanalyzer.util.DALogger;
 
 public class KernelDataManager extends PageDataManager {
-       private static final DALogger DA_LOG = DALogger.getInstance();
-       
        private static KernelDataManager instance = null;
        private KernelDataMaker kdataMaker = null;
        
@@ -76,23 +72,6 @@ public class KernelDataManager extends PageDataManager {
                return instance;
        }
        
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if (null == pack) {     // stop thread
-                               break;
-                       }
-
-                       ArrayList<LogData> logs = getLogsFromLogPackage(pack);
-                       if (!logs.isEmpty())
-                               kdataMaker.makeData(logs);
-               }
-
-               /* log for debug */
-               DA_LOG.debug(getName() + " thread end!!"); //$NON-NLS-1$
-       }
-
        public void clear() {
                kdataMaker.clear();
        }
@@ -169,4 +148,11 @@ public class KernelDataManager extends PageDataManager {
 
                return kernelLogs;
        }
+
+       @Override
+       protected void makeData(LogPackage pack) {
+               ArrayList<LogData> logs = getLogsFromLogPackage(pack);
+               if (!logs.isEmpty())
+                       kdataMaker.makeData(logs);
+       }
 }
index fd479dc..7b27f21 100644 (file)
@@ -46,7 +46,6 @@ import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.ui.network.data.type.NetworkAPIType;
 import org.tizen.dynamicanalyzer.ui.network.data.type.NetworkSeriesType;
 import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea;
-import org.tizen.dynamicanalyzer.util.DALogger;
 import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
 import org.tizen.dynamicanalyzer.widgets.da.base.DADialog;
 
@@ -87,26 +86,6 @@ public class NetworkDataManager extends PageDataManager {
                return instance;
        }
 
-       /*** make network data thread ***/
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if (pack == null) // stop thread
-                               break;
-
-                       Logs logs = pack.getLogs(DataChannelConstants.MSG_PROBE_NETWORK);
-                       if (null != logs && logs.getRawLogs().size() != 0) {
-                               List<LogData> inputs = logs.getLogs();
-
-                               networkDataMaker.makeData(inputs);
-                       }
-               }
-
-               /* log for debug */
-               DALogger.getInstance().info(getName() + " thread end!!");
-       }
-
        private void initDB() {
                networkDataMaker = new NetworkDataMaker(
                                AnalyzerManager.getFailedChecker(),
@@ -256,4 +235,15 @@ public class NetworkDataManager extends PageDataManager {
                }
 
        }
+
+       /*** make network data thread ***/
+       @Override
+       protected void makeData(LogPackage pack) {
+               Logs logs = pack.getLogs(DataChannelConstants.MSG_PROBE_NETWORK);
+               if (null != logs && logs.getRawLogs().size() != 0) {
+                       List<LogData> inputs = logs.getLogs();
+
+                       networkDataMaker.makeData(inputs);
+               }
+       }
 }
index 70a2dce..3f0da2a 100644 (file)
@@ -45,10 +45,8 @@ import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLFrameType;
 import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLSharingContextType;
 import org.tizen.dynamicanalyzer.ui.summary.failed.FailedData;
 import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
-import org.tizen.dynamicanalyzer.util.DALogger;
 
 public class GLDataManager extends PageDataManager {
-       private static final DALogger DA_LOG = DALogger.getInstance();
        private static GLDataManager instance = null;
        private GLStateDataMaker GLStateDataMaker = null;
 
@@ -120,21 +118,6 @@ public class GLDataManager extends PageDataManager {
                stateProgramDBTable.insertData();
        }
 
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if (pack == null) // stop thread
-                               break;
-
-                       Logs glesLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_GLES20);
-                       if (glesLogs != null && glesLogs.getRawLogs().size() != 0) {
-                               makeGLData(glesLogs);
-                       }
-               }
-               DA_LOG.debug(getName() + " thread ended!");
-       }
-
        public void makeGLData(Logs glesLogs) {
                List<LogData> logDataList = glesLogs.getRawLogs();
                List<List<Object>> insetFrameTimeChartDataList = new ArrayList<List<Object>>();
@@ -371,4 +354,12 @@ public class GLDataManager extends PageDataManager {
                }
                return false;
        }
+
+       @Override
+       protected void makeData(LogPackage pack) {
+               Logs glesLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_GLES20);
+               if (glesLogs != null && glesLogs.getRawLogs().size() != 0) {
+                       makeGLData(glesLogs);
+               }
+       }
 }
index 4309f7c..891d541 100644 (file)
@@ -42,13 +42,10 @@ import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.ProfileData;
 import org.tizen.dynamicanalyzer.ui.toolbar.configuration.ConfigurationDialogDataManager;
-import org.tizen.dynamicanalyzer.util.DALogger;
 
 public class FunctionUsageProfiler extends PageDataManager {
-       private static final DALogger DA_LOG = DALogger.getInstance();
-
        // default sampling rate = 10 ms
-       public static long SAMPLE_TIME = 10;
+       public static long SAMPLE_TIME = -1;
        public static final String APPLICATION = SummaryLabels.FUNCTION_USAGE_PROFILER_APPLICATION;
        public static final String DEPENDENT_LIB = SummaryLabels.FUNCTION_USAGE_PROFILER_DEPENDENT_LIB;
        public static final String APPLICATION_KEY = "profiling_app_bin_key";//$NON-NLS-1$
@@ -58,6 +55,7 @@ public class FunctionUsageProfiler extends PageDataManager {
        private static FunctionUsageProfiler instance = null;
 
        private HashMap<Integer, ProfileDataMaker> profileDataMakerMap = null;
+
        /**
         * key: symbol(child) or file path (parent) - value : sequence num of
         * profiling data. all parent and child data is in
@@ -94,37 +92,28 @@ public class FunctionUsageProfiler extends PageDataManager {
                return instance;
        }
 
-       /*** profiling thread ***/
-       @Override
-       public void run() {
-               SAMPLE_TIME = ConfigurationDialogDataManager
-                               .getInstance()
-                               .getfeatureValue(
-                                               ConfigureLabels.FUNCTION_PROFILING_SAMPLING_PERIODIC);
+       public static void clear() {
+               instance = null;
+       }
 
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if (pack == null) // stop thread
-                               break;
+       @Override
+       protected void makeData(LogPackage pack) {
+               if (SAMPLE_TIME < 0) {
+                       SAMPLE_TIME = ConfigurationDialogDataManager
+                                       .getInstance()
+                                       .getfeatureValue(
+                                                       ConfigureLabels.FUNCTION_PROFILING_SAMPLING_PERIODIC);
+               }
 
-                       Logs logs = pack.getLogs(DataChannelConstants.MSG_DATA_SAMPLE);
-                       if (null != logs && logs.getRawLogs().size() != 0) {
-                               List<LogData> sample = logs.getLogs();
-                               int size = sample.size();
-                               for (int i = 0; i < size; i++) {
-                                       getInstance().getProfileDataMakerByPid(
-                                                       sample.get(i).getPid())
-                                                       .makeFunctionUsageProfileData(
-                                                                       (ProfileData) sample.get(i));
-                               }
+               Logs logs = pack.getLogs(DataChannelConstants.MSG_DATA_SAMPLE);
+               if (null != logs && logs.getRawLogs().size() != 0) {
+                       List<LogData> sample = logs.getLogs();
+                       int size = sample.size();
+                       for (int i = 0; i < size; i++) {
+                               getInstance().getProfileDataMakerByPid(sample.get(i).getPid())
+                                               .makeFunctionUsageProfileData(
+                                                               (ProfileData) sample.get(i));
                        }
                }
-
-               /* log for debug */
-               DA_LOG.debug(getName() + " thread end!!"); //$NON-NLS-1$
-       }
-
-       public static void clear() {
-               instance = null;
        }
 }
index 726c995..a36abdd 100644 (file)
@@ -28,7 +28,6 @@ package org.tizen.dynamicanalyzer.ui.thread;
 
 import java.util.List;
 
-import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
 import org.tizen.dynamicanalyzer.swap.logparser.Logs;
@@ -36,12 +35,9 @@ import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.ui.thread.sync.ThreadPageSyncDataManager;
 import org.tizen.dynamicanalyzer.ui.thread.thread.ThreadPageThreadDataManager;
-import org.tizen.dynamicanalyzer.util.DALogger;
 import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoard;
 
 public class ThreadChartManager extends PageDataManager {
-       private static final DALogger DA_LOG = DALogger.getInstance();
-
        private static ThreadChartManager instance = null;
 
        private ThreadPageThreadDataManager tManager;
@@ -84,46 +80,6 @@ public class ThreadChartManager extends PageDataManager {
                sManager.clear();
        }
 
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if (pack == null) // stop thread;
-                               break;
-
-                       List<LogData> loadInputs = getLogsFromLogPackage(pack,
-                                       DataChannelConstants.MSG_DATA_SYSTEM);
-                       if (null != loadInputs) {
-                               int logSize = loadInputs.size();
-                               for (int i = 0; i < logSize; i++) {
-                                       tManager.parseLoad(loadInputs.get(i));
-                               }
-                       }
-
-                       List<LogData> threadInputs = getLogsFromLogPackage(pack,
-                                       DataChannelConstants.MSG_PROBE_THREAD);
-                       if (null != threadInputs) {
-                               int logSize = threadInputs.size();
-                               for (int i = 0; i < logSize; i++) {
-                                       tManager.parseAPI(threadInputs.get(i));
-                               }
-                       }
-
-                       List<LogData> syncInputs = getLogsFromLogPackage(pack,
-                                       DataChannelConstants.MSG_PROBE_SYNC);
-                       if (null != syncInputs) {
-                               int logSize = syncInputs.size();
-                               for (int i = 0; i < logSize; i++) {
-                                       tManager.parseSync(syncInputs.get(i));
-                                       sManager.parseSync(syncInputs.get(i));
-                               }
-                       }
-               }
-
-               /* log for debug */
-               DA_LOG.debug(getName() + " thread end!!"); //$NON-NLS-1$
-       }
-
        public int getItemIndexByTid(String tid) {
                return tManager.getItemIndexByTid(tid);
        }
@@ -133,4 +89,35 @@ public class ThreadChartManager extends PageDataManager {
                tManager.setBoard(threadBoard);
                sManager.setBoard(syncBoard);
        }
+
+       @Override
+       protected void makeData(LogPackage pack) {
+               List<LogData> loadInputs = getLogsFromLogPackage(pack,
+                               DataChannelConstants.MSG_DATA_SYSTEM);
+               if (null != loadInputs) {
+                       int logSize = loadInputs.size();
+                       for (int i = 0; i < logSize; i++) {
+                               tManager.parseLoad(loadInputs.get(i));
+                       }
+               }
+
+               List<LogData> threadInputs = getLogsFromLogPackage(pack,
+                               DataChannelConstants.MSG_PROBE_THREAD);
+               if (null != threadInputs) {
+                       int logSize = threadInputs.size();
+                       for (int i = 0; i < logSize; i++) {
+                               tManager.parseAPI(threadInputs.get(i));
+                       }
+               }
+
+               List<LogData> syncInputs = getLogsFromLogPackage(pack,
+                               DataChannelConstants.MSG_PROBE_SYNC);
+               if (null != syncInputs) {
+                       int logSize = syncInputs.size();
+                       for (int i = 0; i < logSize; i++) {
+                               tManager.parseSync(syncInputs.get(i));
+                               sManager.parseSync(syncInputs.get(i));
+                       }
+               }
+       }
 }
index e84daef..74f4d15 100644 (file)
@@ -34,7 +34,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.common.GlobalInformation;
 import org.tizen.dynamicanalyzer.communicator.DACommunicator;
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
@@ -83,7 +82,6 @@ import org.tizen.dynamicanalyzer.ui.timeline.chart.UserCustomChart;
 import org.tizen.dynamicanalyzer.ui.timeline.logparser.CustomLogParser;
 import org.tizen.dynamicanalyzer.ui.timeline.logparser.LifecycleLogParser;
 import org.tizen.dynamicanalyzer.ui.toolbar.ConfigureManager;
-import org.tizen.dynamicanalyzer.util.DALogger;
 import org.tizen.dynamicanalyzer.widgets.chart.DAChart;
 import org.tizen.dynamicanalyzer.widgets.chart.DAChartSeries;
 import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoard;
@@ -92,7 +90,6 @@ import org.tizen.dynamicanalyzer.widgets.chartBoard.IDAChartSeriesMaker;
 
 
 public class TimelineChartManager extends PageDataManager implements IDAChartSeriesMaker {
-       private static final DALogger DA_LOG = DALogger.getInstance();
        private static TimelineChartManager instance = null;
 
     private boolean newCustomChart = false;
@@ -354,39 +351,6 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
         allocationSeriesDataSetMap.clear();
     }
 
-    @Override
-    public void run() {
-        while (!AnalyzerManager.isExit()) {
-            LogPackage pack = pollPack();
-            if (null == pack) // stop thread
-                break;
-
-            /*
-             * 1. Make SystemDataTable column
-             */
-            Logs systemLogs = pack.getLogs(DataChannelConstants.MSG_DATA_SYSTEM);
-            Logs memoryLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_MEMORY);
-            Logs uiEventLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_UIEVENT);
-            Logs screenShotLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_SCREENSHOT);
-            makeSystemDataTableData(systemLogs, memoryLogs);
-            makeUIEventDBTableData(uiEventLogs);
-            makeScreenShotDBTableData(screenShotLogs);
-
-
-            Logs customLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_CUSTOM);
-            if (customLogs != null && !customLogs.getRawLogs().isEmpty()) {
-                customLogParser.parseLogPackage(pack);
-              }
-            Logs lifecycleLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_LIFECYCLE);
-            if (lifecycleLogs != null && !lifecycleLogs.getRawLogs().isEmpty()) {
-                lifecycleLogParser.parseLogPackage(pack);
-            }
-        }
-
-        /* log for debug */
-        DA_LOG.debug(getName() + " thread end!!"); //$NON-NLS-1$
-    }
-
     private void makeSystemDataTableData(Logs systemLogs, Logs memoryLogs) {
         int coreSize = GlobalInformation.getCurrentDeviceInfo().getTargetInfo().getCpuCount();
 
@@ -797,4 +761,28 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
          */
         customLogParser.inputChartSeries(customDBData);
     }
+
+       @Override
+       protected void makeData(LogPackage pack) {
+        /*
+         * 1. Make SystemDataTable column
+         */
+        Logs systemLogs = pack.getLogs(DataChannelConstants.MSG_DATA_SYSTEM);
+        Logs memoryLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_MEMORY);
+        Logs uiEventLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_UIEVENT);
+        Logs screenShotLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_SCREENSHOT);
+        makeSystemDataTableData(systemLogs, memoryLogs);
+        makeUIEventDBTableData(uiEventLogs);
+        makeScreenShotDBTableData(screenShotLogs);
+
+
+        Logs customLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_CUSTOM);
+        if (customLogs != null && !customLogs.getRawLogs().isEmpty()) {
+            customLogParser.parseLogPackage(pack);
+          }
+        Logs lifecycleLogs = pack.getLogs(DataChannelConstants.MSG_PROBE_LIFECYCLE);
+        if (lifecycleLogs != null && !lifecycleLogs.getRawLogs().isEmpty()) {
+            lifecycleLogParser.parseLogPackage(pack);
+        }
+       }
 }
index e5f0724..2d1f190 100644 (file)
@@ -191,7 +191,7 @@ public class OpenTraceProgressManager implements Runnable {
                        OpenTraceInputReader.stopOpenTraceInputReader();
                        DataManagerRegistry.stopThreads();
                        try {
-                               if (DataManagerRegistry.isAnyoneAlive()) {
+                               if (!DataManagerRegistry.isAnyoneAlive()) {
                                        break;
                                } else {
                                        Thread.sleep(AnalyzerConstants.LOG_CHECK_INTERVAL);
index f4d43d3..950e03a 100644 (file)
@@ -30,7 +30,6 @@ package org.tizen.dynamicanalyzer.ui.toolbar.replay.data;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
 import org.tizen.dynamicanalyzer.swap.logparser.Logs;
@@ -38,7 +37,6 @@ import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
 import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.ReplayData;
-import org.tizen.dynamicanalyzer.util.DALogger;
 
 public class ReplayDataManager extends PageDataManager {
        private static ReplayDataManager instance = null;
@@ -46,7 +44,7 @@ public class ReplayDataManager extends PageDataManager {
        private ReplayDBManager replayDBManager = null;
        private int rid = 0;
 
-       public ReplayDataManager() {
+       private ReplayDataManager() {
                replayDBManager = new ReplayDBManager();
                addDBTable(replayDBManager);
        }
@@ -58,48 +56,6 @@ public class ReplayDataManager extends PageDataManager {
                return instance;
        }
 
-       /*** make network data thread ***/
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if (pack == null) // stop thread
-                               break;
-
-                       Logs logs = pack.getLogs(DataChannelConstants.MSG_DATA_RECORD);
-                       if (null != logs && logs.getRawLogs().size() != 0) {
-
-                               List<List<Object>> insertData = new ArrayList<List<Object>>();
-
-                               List<LogData> inputs = logs.getLogs();
-                               int dataRowSize = inputs.size();
-                               for (int i = 0; i < dataRowSize; i++) {
-                                       ReplayData replayData = (ReplayData) inputs.get(i);
-                                       List<RecordEventObject> events = replayData
-                                                       .getRecordEvent();
-                                       for (int ii = 0; ii < replayData.getObjectCount(); ii++) {
-                                               RecordEventObject reo = events.get(ii);
-                                               List<Object> insertObject = new ArrayList<Object>();
-                                               insertObject.add(rid++);
-                                               insertObject.add(reo.getSeq());
-                                               insertObject.add(reo.getTime());
-                                               insertObject.add(reo.getEventTime().getSec());
-                                               insertObject.add(reo.getEventTime().getNano());
-                                               insertObject.add(reo.getEventId());
-                                               insertObject.add(reo.getEventType());
-                                               insertObject.add(reo.getEventCode());
-                                               insertObject.add(reo.getEventValue());
-                                               insertData.add(insertObject);
-                                       }
-                               }
-                               replayDBManager.insertData(insertData);
-                       }
-               }
-
-               /* log for debug */
-               DALogger.getInstance().info(getName() + " thread end!!");
-       }
-
        public void clear() {
                instance = null;
                replayDBManager = null;
@@ -110,4 +66,36 @@ public class ReplayDataManager extends PageDataManager {
                return replayDBManager;
        }
 
+       @Override
+       protected void makeData(LogPackage pack) {
+               Logs logs = pack.getLogs(DataChannelConstants.MSG_DATA_RECORD);
+               if (null != logs && logs.getRawLogs().size() != 0) {
+
+                       List<List<Object>> insertData = new ArrayList<List<Object>>();
+
+                       List<LogData> inputs = logs.getLogs();
+                       int dataRowSize = inputs.size();
+                       for (int i = 0; i < dataRowSize; i++) {
+                               ReplayData replayData = (ReplayData) inputs.get(i);
+                               List<RecordEventObject> events = replayData
+                                               .getRecordEvent();
+                               for (int ii = 0; ii < replayData.getObjectCount(); ii++) {
+                                       RecordEventObject reo = events.get(ii);
+                                       List<Object> insertObject = new ArrayList<Object>();
+                                       insertObject.add(rid++);
+                                       insertObject.add(reo.getSeq());
+                                       insertObject.add(reo.getTime());
+                                       insertObject.add(reo.getEventTime().getSec());
+                                       insertObject.add(reo.getEventTime().getNano());
+                                       insertObject.add(reo.getEventId());
+                                       insertObject.add(reo.getEventType());
+                                       insertObject.add(reo.getEventCode());
+                                       insertObject.add(reo.getEventValue());
+                                       insertData.add(insertObject);
+                               }
+                       }
+                       replayDBManager.insertData(insertData);
+               }
+       }
+
 }
index d8c9184..3a15fd4 100644 (file)
@@ -29,7 +29,6 @@ package org.tizen.dynamicanalyzer.ui.userinterface;
 import java.util.HashMap;
 import java.util.List;
 
-import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
@@ -41,11 +40,8 @@ import org.tizen.dynamicanalyzer.swap.model.data.SceneData;
 import org.tizen.dynamicanalyzer.ui.userinterface.control.UIControlListDataChecker;
 import org.tizen.dynamicanalyzer.ui.userinterface.profiling.UIFunctionProfilingDataChecker;
 import org.tizen.dynamicanalyzer.ui.userinterface.scene.UISceneDataChecker;
-import org.tizen.dynamicanalyzer.util.DALogger;
 
 public class UIDataManager extends PageDataManager {
-       private static final DALogger DA_LOG = DALogger.getInstance();
-
        private static UIDataManager instance = null;
 
        private static UIControlListDataChecker controlListDataChecker = null;
@@ -65,42 +61,6 @@ public class UIDataManager extends PageDataManager {
        private UIDataManager() {
        }
 
-       @Override
-       public void run() {
-               while (!AnalyzerManager.isExit()) {
-                       LogPackage pack = pollPack();
-                       if (pack == null) // stop thread
-                               break;
-
-                       Logs logs = pack.getLogs(DataChannelConstants.MSG_PROBE_UICONTROL);
-                       if (null != logs && logs.getRawLogs() != null
-                                       && logs.getRawLogs().size() != 0) {
-                               List<LogData> inputs = logs.getLogs();
-                               int size = inputs.size();
-                               for (int i = 0; i < size; i++) {
-                                       getControlDataChecker().parserLog(
-                                                       (ControlData) inputs.get(i));
-                               }
-                       }
-
-                       logs = pack.getLogs(DataChannelConstants.MSG_PROBE_SCENE);
-                       if (null != logs && logs.getRawLogs() != null
-                                       && logs.getRawLogs().size() != 0) {
-                               List<LogData> inputs = logs.getLogs();
-                               int size = inputs.size();
-                               for (int i = 0; i < size; i++) {
-                                       getSceneTransformDataChecker().parserLog(
-                                                       (SceneData) inputs.get(i));
-                               }
-                       }
-                       
-                       UIDataManager.getInstance().getfunctionProfilingDataChecker().updateUIApiTreeSet();
-               }
-               
-               /* log for debug */
-               DA_LOG.debug(getName() + " thread end!!"); //$NON-NLS-1$
-       }
-
        public void clear() {
                controlListDataChecker = null;
                sceneTransformDataChecker = null;
@@ -144,4 +104,31 @@ public class UIDataManager extends PageDataManager {
        public HashMap<String, Long> getFindScreenshotViewHashMap() {
                return findScreenshotViewHashMap;
        }
+
+       @Override
+       protected void makeData(LogPackage pack) {
+               Logs logs = pack.getLogs(DataChannelConstants.MSG_PROBE_UICONTROL);
+               if (null != logs && logs.getRawLogs() != null
+                               && logs.getRawLogs().size() != 0) {
+                       List<LogData> inputs = logs.getLogs();
+                       int size = inputs.size();
+                       for (int i = 0; i < size; i++) {
+                               getControlDataChecker().parserLog(
+                                               (ControlData) inputs.get(i));
+                       }
+               }
+
+               logs = pack.getLogs(DataChannelConstants.MSG_PROBE_SCENE);
+               if (null != logs && logs.getRawLogs() != null
+                               && logs.getRawLogs().size() != 0) {
+                       List<LogData> inputs = logs.getLogs();
+                       int size = inputs.size();
+                       for (int i = 0; i < size; i++) {
+                               getSceneTransformDataChecker().parserLog(
+                                               (SceneData) inputs.get(i));
+                       }
+               }
+               
+               UIDataManager.getInstance().getfunctionProfilingDataChecker().updateUIApiTreeSet();
+       }
 }
\ No newline at end of file
index 936d53d..34850cd 100755 (executable)
@@ -57,8 +57,8 @@ import org.eclipse.ui.handlers.IHandlerService;
 import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.common.GlobalInformation;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
+import org.tizen.dynamicanalyzer.project.AppInfo;
 import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfoPackage;
@@ -435,7 +435,11 @@ public class AnalyzerUtil {
 
                String path = processInfo.getMainTargetBinaryPath();
                String key = getTargetPathKey(path);
-               BinaryInfo binInfo = GlobalInformation.getCurrentApplication().getBinaryInfo(key);
+               AppInfo curApp = GlobalInformation.getCurrentApplication();
+               if(curApp == null)
+                       return false;
+               
+               BinaryInfo binInfo = curApp.getBinaryInfo(key);
                if (null == binInfo) {
                        return false;
                }