From f0f605c36a1f854840af8f5bc006480fc7623e97 Mon Sep 17 00:00:00 2001 From: greatim Date: Wed, 28 May 2014 12:23:43 +0900 Subject: [PATCH] INTERNAL: fix some exception and refactor PageDataManager fix some exception occurred during save/load. refactor PageDataManager and subclasses. Change-Id: Iaa92c9548552d66f75d2b218aa227e1ba71bd6cd Signed-off-by: greatim Change-ID: If819551cb9624166d2621507b9f4b6d138a34335 --- .../tizen/dynamicanalyzer/model/Streamable.java | 15 ++++ .../dynamicanalyzer/swap/logparser/LogPackage.java | 3 +- .../swap/logparser/PageDataManager.java | 97 +++++++++++++++++----- .../swap/model/data/SystemData.java | 49 +++++------ .../swap/model/format/SystemLogFormat.java | 8 +- .../dynamicanalyzer/ui/file/FileChartManager.java | 30 ++----- .../ui/file/manager/FileChartManager.java | 38 +++------ .../ui/info/screenshot/ScreenshotDataManager.java | 51 +++++------- .../ui/kernel/data/KernelDataManager.java | 28 ++----- .../ui/network/data/NetworkDataManager.java | 32 +++---- .../ui/opengl/data/GLDataManager.java | 25 ++---- .../summary/profiling/FunctionUsageProfiler.java | 53 +++++------- .../ui/thread/ThreadChartManager.java | 75 +++++++---------- .../ui/timeline/common/TimelineChartManager.java | 60 ++++++------- .../opentrace/OpenTraceProgressManager.java | 2 +- .../ui/toolbar/replay/data/ReplayDataManager.java | 78 ++++++++--------- .../ui/userinterface/UIDataManager.java | 67 ++++++--------- .../tizen/dynamicanalyzer/utils/AnalyzerUtil.java | 8 +- 18 files changed, 331 insertions(+), 388 deletions(-) create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/Streamable.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 index 0000000..a6a3771 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/Streamable.java @@ -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; + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java index 8fd3c4f..952ed42 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java @@ -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 logMap; public void clear() { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/PageDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/PageDataManager.java index 68f4147..123bd49 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/PageDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/PageDataManager.java @@ -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 logPackQueue = new ReadBlockingQueue(); + private BlockingQueue logPackQueue = new LinkedBlockingQueue(); private List dbTableList = new ArrayList(); + 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 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 dataMap) { + + public void saveData(Map dataMap) { } - - protected void openData(Map dataMap) { + + public void openData(Map dataMap) { } - + } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SystemData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SystemData.java index 9c04337..aefac16 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SystemData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SystemData.java @@ -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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SystemLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SystemLogFormat.java index 1967b59..48bedd8 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SystemLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SystemLogFormat.java @@ -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(); 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(); 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(); 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(); logColumnTypes.addAll(HeaderColumns.getLogColumnTypes()); logColumnTypes.addAll(Arrays.asList(types)); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java index 6d3d639..8b53edf 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java @@ -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 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 inputs = logs.getLogs(); + getFileDataMaker().makeData(inputs); + } + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileChartManager.java index dc39b4a..bf3d51f 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileChartManager.java @@ -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 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 inputs = logs.getLogs(); + dataMaker.makeData(inputs); + } + } + } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java index 9e71193..e450664 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java @@ -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 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 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 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 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(); + } + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/KernelDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/KernelDataManager.java index dab7c9e..38332e4 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/KernelDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/KernelDataManager.java @@ -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 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 logs = getLogsFromLogPackage(pack); + if (!logs.isEmpty()) + kdataMaker.makeData(logs); + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/data/NetworkDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/data/NetworkDataManager.java index fd479dc..7b27f21 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/data/NetworkDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/data/NetworkDataManager.java @@ -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 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 inputs = logs.getLogs(); + + networkDataMaker.makeData(inputs); + } + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataManager.java index 70a2dce..3f0da2a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataManager.java @@ -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 logDataList = glesLogs.getRawLogs(); List> insetFrameTimeChartDataList = new ArrayList>(); @@ -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); + } + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java index 4309f7c..891d541 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java @@ -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 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 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 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; } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java index 726c995..a36abdd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java @@ -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 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 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 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 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 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 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)); + } + } + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java index e84daef..74f4d15 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java @@ -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); + } + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceProgressManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceProgressManager.java index e5f0724..2d1f190 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceProgressManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceProgressManager.java @@ -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); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java index f4d43d3..950e03a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java @@ -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> insertData = new ArrayList>(); - - List inputs = logs.getLogs(); - int dataRowSize = inputs.size(); - for (int i = 0; i < dataRowSize; i++) { - ReplayData replayData = (ReplayData) inputs.get(i); - List events = replayData - .getRecordEvent(); - for (int ii = 0; ii < replayData.getObjectCount(); ii++) { - RecordEventObject reo = events.get(ii); - List insertObject = new ArrayList(); - 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> insertData = new ArrayList>(); + + List inputs = logs.getLogs(); + int dataRowSize = inputs.size(); + for (int i = 0; i < dataRowSize; i++) { + ReplayData replayData = (ReplayData) inputs.get(i); + List events = replayData + .getRecordEvent(); + for (int ii = 0; ii < replayData.getObjectCount(); ii++) { + RecordEventObject reo = events.get(ii); + List insertObject = new ArrayList(); + 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); + } + } + } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java index d8c9184..3a15fd4 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java @@ -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 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 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 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 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 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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java index 936d53d..34850cd 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java @@ -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; } -- 2.7.4