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
--- /dev/null
+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;
+ }
+}
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() {
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();
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) {
}
-
+
}
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;
String deviceEnergyUsage = null;
String applicationEnergyUsage = null;
- int callAlpha = 0;
- int rssiAlpha = 0;
+// int callAlpha = 0;
+// int rssiAlpha = 0;
public SystemData() {
}
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;
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
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
"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));
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));
"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));
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));
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;
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();
}
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);
+ }
+ }
}
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;
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
}
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);
+ }
+ }
+
}
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;
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;
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;
}
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();
+ }
+ }
}
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;
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;
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();
}
return kernelLogs;
}
+
+ @Override
+ protected void makeData(LogPackage pack) {
+ ArrayList<LogData> logs = getLogsFromLogPackage(pack);
+ if (!logs.isEmpty())
+ kdataMaker.makeData(logs);
+ }
}
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;
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(),
}
}
+
+ /*** 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);
+ }
+ }
}
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;
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>>();
}
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);
+ }
+ }
}
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$
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
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;
}
}
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;
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;
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);
}
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));
+ }
+ }
+ }
}
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;
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;
public class TimelineChartManager extends PageDataManager implements IDAChartSeriesMaker {
- private static final DALogger DA_LOG = DALogger.getInstance();
private static TimelineChartManager instance = null;
private boolean newCustomChart = false;
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();
*/
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);
+ }
+ }
}
OpenTraceInputReader.stopOpenTraceInputReader();
DataManagerRegistry.stopThreads();
try {
- if (DataManagerRegistry.isAnyoneAlive()) {
+ if (!DataManagerRegistry.isAnyoneAlive()) {
break;
} else {
Thread.sleep(AnalyzerConstants.LOG_CHECK_INTERVAL);
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;
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;
private ReplayDBManager replayDBManager = null;
private int rid = 0;
- public ReplayDataManager() {
+ private ReplayDataManager() {
replayDBManager = new ReplayDBManager();
addDBTable(replayDBManager);
}
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;
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);
+ }
+ }
+
}
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;
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;
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;
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
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;
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;
}