};
public void setEnabled(boolean enabled) {
+ super.setEnabled(enabled);
this.enabled = enabled;
if (enabled) {
changeComboState(STATE_NORMAL);
public static final String CALLSTACK_API_OFFSET_TOKEN = "\\+"; //$NON-NLS-1$
public static final String CLASS = "class"; //$NON-NLS-1$
public static final String DATA_PARSING_TOKEN = "`,"; //$NON-NLS-1$
+
+ /* thread constant */
+ public static final int THREAD_JOIN_WAIT_TIME = 5000;
+ public static final int INSERT_JOIN_WAIT_TIME = 30000;
/* timer intervals */
public static final int SOCKET_CHECK_INTERVAL = 10;
private static long startBinaryAddr = -1;
private static long endBinaryAddr = -1;
- public static final int THREAD_JOIN_WAIT_TIME = 5000;
- public static final int INSERT_JOIN_WAIT_TIME = 30000;
-
private static int processCount = 0;
public static boolean isExit() {
}
public static void execShellCommand(IDevice device, String command,
- IShellOutputReceiver receiver) {
+ IShellOutputReceiver receiver) throws TimeoutException,
+ SdbCommandRejectedException, ShellCommandUnresponsiveException,
+ IOException {
if (null != device && isOnline(device)) {
- try {
- device.executeShellCommand(command, receiver);
- } catch (TimeoutException e) {
- e.printStackTrace();
- } catch (SdbCommandRejectedException e) {
- e.printStackTrace();
- } catch (ShellCommandUnresponsiveException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
+ device.executeShellCommand(command, receiver);
}
}
String line = portLines.get(0);
try {
remotePort = Integer.parseInt(line);
- DA_LOG.debug(" !! \nport get success!! : " + remotePort);
break;
} catch (NumberFormatException e) {
System.out.print("=");
}
}
- Thread.sleep(10);
+
+ Thread.sleep(50);
} catch (InterruptedException e) {
- // e.printStackTrace();
+ System.out.print("\n");
DA_LOG.debug("Interrupt occurred - Getting port number");
break;
+ } catch (SdbCommandRejectedException e) {
+ System.out.print("\n");
+ DA_LOG.debug("Maybe Sdb connection closed - Getting port number");
+ break;
+ } catch (TimeoutException e) {
+ System.out.print("\n");
+ DA_LOG.debug("Timeout occured - Getting port number");
+ break;
+ } catch (ShellCommandUnresponsiveException e) {
+ System.out.print("\n");
+ DA_LOG.debug("Shell command unresponsive - Getting port number");
+ break;
+ } catch (IOException e) {
+ System.out.print("\n");
+ DA_LOG.debug("IOExceoption - Getting port number");
+ break;
}
}
+
+ System.out.print("\n");
+ if(remotePort < 0) {
+ DA_LOG.debug("!!port get failed!!");
+ } else {
+ DA_LOG.debug("!!port get success!! : " + remotePort);
+ }
+
return remotePort;
}
@Override
public void onDisconnected(IDevice device) {
// called : each device disconnected time
+ Display.getDefault().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ ToolbarArea.getInstance().setMainControlEnablement(false);
+ }
+ });
+
DA_LOG.debug("device disconnected : " + device.getSerialNumber());
DeviceInfo deviceInfo = getDeviceByName(device.getSerialNumber());
DeviceInfo selectedDevice = GlobalInformation
}
}
}
+
+ Display.getDefault().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ ToolbarArea.getInstance().setMainControlEnablement(true);
+ }
+ });
}
@Override
public void onConnected(IDevice device) {
// It called when dynamic-analyzer start, only one time
+
+ Display.getDefault().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ ToolbarArea.getInstance().setMainControlEnablement(false);
+ }
+ });
+
DA_LOG.debug("device connected : " + device.getSerialNumber());
// addDevice(device);
if (!AnalyzerManager.isRunning()) {
}
});
}
+
+ Display.getDefault().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ ToolbarArea.getInstance().setMainControlEnablement(true);
+ }
+ });
}
@Override
public void onChanged(IDevice device, int changeMask) {
// called : device added - already dynamic-analyzer running (not
// tracing)
+ Display.getDefault().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ ToolbarArea.getInstance().setMainControlEnablement(false);
+ }
+ });
+
DA_LOG.debug("device changed : " + device.getSerialNumber() + " "
+ changeMask);
if (1 == changeMask) {
} else {
DA_LOG.debug("device changed type :" + changeMask);
}
+
+ Display.getDefault().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ ToolbarArea.getInstance().setMainControlEnablement(true);
+ }
+ });
}
+
};
public static void updateToolbarDevice() {
+ final List<String> deviceSerials = new ArrayList<String>();
+ final String selectedDevice;
+ DeviceInfo selDev = GlobalInformation.getCurrentDeviceInfo();
+ if (selDev != null) {
+ selectedDevice = selDev.getIDevice().getSerialNumber();
+ } else {
+ selectedDevice = null;
+ }
+ int size = getDevices().size();
+ int selIndex = 0;
+ for (int i = 0; i < size; i++) {
+ String serial = devices.get(i).getIDevice().getSerialNumber();
+ deviceSerials.add(serial);
+ if (null != selectedDevice && selectedDevice.equals(serial)) {
+ selIndex = i;
+ }
+ }
+ if (!devices.isEmpty()) {
+ GlobalInformation.setCurrentDeviceInfo(devices.get(selIndex));
+ } else {
+ clearDeviceAppInfo();
+ }
+
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
- List<String> deviceSerials = new ArrayList<String>();
- String selectedDevice = null;
- DeviceInfo selDev = GlobalInformation.getCurrentDeviceInfo();
- if (selDev != null)
- selectedDevice = selDev.getIDevice().getSerialNumber();
- int size = getDevices().size();
- int selIndex = 0;
- for (int i = 0; i < size; i++) {
- String serial = devices.get(i).getIDevice()
- .getSerialNumber();
- deviceSerials.add(serial);
- if (null != selectedDevice && selectedDevice.equals(serial)) {
- selIndex = i;
- }
- }
- if (!devices.isEmpty()) {
- GlobalInformation.setCurrentDeviceInfo(devices
- .get(selIndex));
- } else {
- clearDeviceAppInfo();
- }
ToolbarArea.getInstance().setDeviceComboItems(selectedDevice,
deviceSerials);
}
public static final String PRIMARY_KEY = "PRIMARY KEY NOT NULL";//$NON-NLS-1$
public static final String NOT_NULL = "not null";//$NON-NLS-1$
+ // TODO : need to discuss about each limits
// length of common string column
public static final int FUNCNAME_LEN = 256;
public static final int FILENAME_LEN = 256;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+// this class is for managing and saving the portion of the remaining string
+// which does not fit in the database column.
public class RemainingDataManager {
private static Map<String, Map<String, String>> remainingDataMap = new ConcurrentHashMap<String, Map<String, String>>();
}
}
+ // this method calls specific interface method of each DB table class
+ // to get preparedStatement of given query.
+ // this change improve the performance of preparing of query statement.
+ // (no need to check the type of each column)
public static void executePreparedWithInterface(String query,
List<List<Object>> data, IPreparedStatement ip) {
PreparedStatement prep = null;
while (rs.next()) {
List<Object> rowData = new ArrayList<Object>();
// ResultSet index starts from 1
+ // Interger.valueOf(int) is faster than new Integer(int)
+ // Actually autoboxing of primitive type is same with
+ // <Object>.valueOf() after java 1.5
for (int i = 1; i < columnCount + 1; i++) {
if (rsMetaData.getColumnTypeName(i).contains(
DBConstants.INTEGER)) {
- rowData.add(new Integer(rs.getInt(i)));
+ rowData.add(Integer.valueOf(rs.getInt(i)));
} else if (rsMetaData.getColumnTypeName(i)
.contains(DBConstants.LONG)) {
- rowData.add(new Long(rs.getLong(i)));
+ rowData.add(Long.valueOf(rs.getLong(i)));
} else if (rsMetaData.getColumnTypeName(i)
.contains(DBConstants.VARCHAR)) {
rowData.add(rs.getString(i));
} else if (rsMetaData.getColumnTypeName(i)
.contains(DBConstants.FLOAT)) {
- rowData.add(new Float(rs.getFloat(i)));
+ rowData.add(Float.valueOf(rs.getFloat(i)));
} else if (rsMetaData.getColumnTypeName(i)
.contains(DBConstants.BOOLEAN)) {
- rowData.add(rs.getBoolean(i));
+ rowData.add(Boolean.valueOf(rs.getBoolean(i)));
} else {
DA_LOG.error("undefined type : "
+ rsMetaData.getColumnTypeName(i));
if (null != insertLogThread && insertLogThread.isAlive()) {
try {
sendNotify();
- insertLogThread.join(AnalyzerManager.INSERT_JOIN_WAIT_TIME);
+ insertLogThread.join(AnalyzerConstants.INSERT_JOIN_WAIT_TIME);
DA_LOG.debug("insert thread join complete!!"); //$NON-NLS-1$
} catch (InterruptedException e) {
e.printStackTrace();
}
try {
DA_LOG.debug("wait for log parser join");//$NON-NLS-1$
- logParser.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ logParser.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
import org.tizen.dynamicanalyzer.common.path.PathManager;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
import org.tizen.dynamicanalyzer.model.AddrSymbolPair;
-import org.tizen.dynamicanalyzer.swap.channel.control.ApplicationInst;
import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo;
import org.tizen.dynamicanalyzer.util.DALogger;
import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
public static final String APPTYPE_WEB = "webapp";//$NON-NLS-1$
public static final String FLAG_ZERO = "0";//$NON-NLS-1$
public static final String FLAG_ONE = "1";//$NON-NLS-1$
-
+
public static final String DEBUGPKGTYPE_DEBUG = "debug-";//$NON-NLS-1$
public static final String DEBUGPKGTYPE_DEBUGINFO = "debuginfo";//$NON-NLS-1$
public static final String DEBUGPKGTYPE_DEBUGSOURCE = "debugsource";//$NON-NLS-1$
public void setInstallTime(String installTime) {
this.installTime = installTime;
}
-
+
public String getDebugFilePath() {
return debugFilePath;
}
public void setDebugFilePath(String debugFilePath) {
this.debugFilePath = debugFilePath;
}
-
+
public String getSourcePath() {
return sourcePath;
}
if (localPackagePath != null) {
int psize = localPackagePath.size();
for (int i = 0; i < psize; i++) {
- if (localPackagePath.get(i)
- .contains(DEBUGPKGTYPE_DEBUGINFO)) {
+ if (localPackagePath.get(i).contains(DEBUGPKGTYPE_DEBUGINFO)) {
getDebugFilePathFromDebugRpm(localPackagePath.get(i));
- } else if (localPackagePath.get(i)
- .contains(DEBUGPKGTYPE_DEBUGSOURCE)) {
+ } else if (localPackagePath.get(i).contains(
+ DEBUGPKGTYPE_DEBUGSOURCE)) {
getSourcePathFromSourceRpm(localPackagePath.get(i));
}
}
return symbolExtractor.getAddrSymbolPairs();
}
- //TODO: refactoring - make rpm copy/extraction code to utility function
-
+ // TODO: refactoring - make rpm copy/extraction code to utility function
+
public void getDebugFilePathFromDebugRpm(String debugRpmPath) {
String debugFilePath = null;
}
// future extension for applications with normal debug package
- } else if (debugInfoRpmFile.getName()
- .contains(DEBUGPKGTYPE_DEBUG)) {
+ } else if (debugInfoRpmFile.getName().contains(DEBUGPKGTYPE_DEBUG)) {
String debugCmd = PathManager.DA_TOOL_FOLDER_PATH + File.separator
+ "debuginfo.sh -f " + rpmPath + CommonConstants.SPACE
+ getExecFileName();
if (null != debugFilePath && !debugFilePath.isEmpty()) {
setDebugFilePath(debugFilePath);
- }
+ }
return;
}
if (null == sourceRpmPath || sourceRpmPath.isEmpty()) {
return;
}
-
+
// check rpm file exists
File debugsourceRpmFile = new File(sourceRpmPath);
if (!debugsourceRpmFile.exists() || debugsourceRpmFile.isDirectory()) {
return;
}
-
- // get source project name
+
+ // get source project name
// (ex. pr-debugsource-0.0.0-1.1.i586.rpm -> pr-0.0.0)
String debugsourceRpmFileName = debugsourceRpmFile.getName();
int index = debugsourceRpmFileName.indexOf(DEBUGPKGTYPE_DEBUGSOURCE);
.split(CommonConstants.DASH);
String version = splitSrcRpmFileName[splitSrcRpmFileName.length - 2];
String projectName = project + version;
-
+
// copy rpm file
String rpmPath = PathManager.DA_RPM_PATH + File.separator
+ appInfo.get(LABEL_INDEX);
Runtime rt = Runtime.getRuntime();
Process process = rt.exec(sourceCmd);
process.waitFor();
- BufferedReader reader = new BufferedReader(
- new InputStreamReader(process.getInputStream()));
+ BufferedReader reader = new BufferedReader(new InputStreamReader(
+ process.getInputStream()));
String line = reader.readLine();
if (null == line) {
BufferedReader error = new BufferedReader(
return;
}
}
-
+
public String getExecFileName() {
if (null == execFileName) {
- String[] splitPath = appInfo.get(EXEC_INDEX)
- .split(CommonConstants.SLASH);
+ String[] splitPath = appInfo.get(EXEC_INDEX).split(
+ CommonConstants.SLASH);
if (getAppType().contains(APPTYPE_CPP)) {
execFileName = splitPath[splitPath.length - 1]
+ CommonConstants.EXTENSION_EXEC_FILE;
public String getExecPath() {
String exec = appInfo.get(EXEC_INDEX);
if (getAppType().contains(APPTYPE_CPP)) {
- exec = exec.replaceFirst("/opt/apps", "/opt/usr/apps");
+ exec = exec.replaceFirst("/opt/apps", "/opt/usr/apps");
exec += CommonConstants.EXTENSION_EXEC_FILE;
}
return exec;
import java.util.List;
import java.util.Map;
-import org.tizen.dynamicanalyzer.common.AnalyzerManager;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.database.DBTable;
import org.tizen.dynamicanalyzer.util.DALogger;
try {
onThreadStop();
sendNotify();
- thread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ thread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
thread = null;
DA_LOG.debug(getName() + " thread joined!"); //$NON-NLS-1$
} catch (InterruptedException e) {
dataQueue = new ConcurrentLinkedQueue<E>();\r
}\r
\r
- public synchronized E poll() {\r
- if (dataQueue.isEmpty()) {\r
- try {\r
- wait();\r
- } catch (InterruptedException e) {\r
- e.printStackTrace();\r
+ public E poll() {\r
+ synchronized (this) {\r
+ if (dataQueue.isEmpty()) {\r
+ try {\r
+ wait();\r
+ } catch (InterruptedException e) {\r
+ e.printStackTrace();\r
+ }\r
}\r
}\r
\r
return data;\r
}\r
\r
- public synchronized void offer(E data) {\r
- dataQueue.offer(data);\r
- notifyAll();\r
+ public void offer(E data) {\r
+ synchronized (this) {\r
+ dataQueue.offer(data);\r
+ notifyAll();\r
+ }\r
}\r
\r
- public synchronized void wake() {\r
- notifyAll();\r
+ public void wake() {\r
+ synchronized (this) {\r
+ notifyAll();\r
+ }\r
}\r
}\r
}
try {
DA_LOG.debug("wait for log parser join");//$NON-NLS-1$
- logParser.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ logParser.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
public class CallFlowChart extends DAChartBoard {
private static final DALogger DA_LOG = DALogger.getInstance();
-
+
private KernelDataPerThread selectedData = null;
private boolean dirty = false;
private final KernelDataMaker dataMaker = KernelDataManager.getInstance()
for (int i = 0; i < fsize; i++) {
List<Object> idata = functionData.get(i);
String funcname = (String) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_FUNCNAME);
+ .get(FunctionDataDBTable.COLUMN.FUNCNAME.index);
double funcStart = (double) ((Long) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_STARTTIME))
+ .get(FunctionDataDBTable.COLUMN.STARTTIME.index))
/ TimelineConstants.MEGA_DOUBLE;
double funcEnd = (double) ((Long) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_ENDTIME))
+ .get(FunctionDataDBTable.COLUMN.ENDTIME.index))
/ TimelineConstants.MEGA_DOUBLE;
DAChartSeries funcSeries = seriesMap.get(funcname);
for (int i = 0; i < csize; i++) {
List<Object> idata = contextData.get(i);
int tid = (Integer) idata
- .get(ContextDataDBTable.COLUMN_INDEX_TID);
+ .get(ContextDataDBTable.COLUMN.TID.index);
int cpunum = (Integer) idata
- .get(ContextDataDBTable.COLUMN_INDEX_CPU);
+ .get(ContextDataDBTable.COLUMN.CPUNUM.index);
double contextStart = (double) ((Long) idata
- .get(ContextDataDBTable.COLUMN_INDEX_STARTTIME))
+ .get(ContextDataDBTable.COLUMN.STARTTIME.index))
/ TimelineConstants.MEGA_DOUBLE;
double contextEnd = (double) ((Long) idata
- .get(ContextDataDBTable.COLUMN_INDEX_ENDTIME))
+ .get(ContextDataDBTable.COLUMN.ENDTIME.index))
/ TimelineConstants.MEGA_DOUBLE;
DAChartBoardItem coreItem = findCoreBoardItem(threads, tid);
for (int i = 0; i < fsize; i++) {
List<Object> idata = functionData.get(i);
int tid = (Integer) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_TID);
+ .get(FunctionDataDBTable.COLUMN.TID.index);
String funcname = (String) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_FUNCNAME);
+ .get(FunctionDataDBTable.COLUMN.FUNCNAME.index);
double funcStart = (double) ((Long) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_STARTTIME))
+ .get(FunctionDataDBTable.COLUMN.STARTTIME.index))
/ TimelineConstants.MEGA_DOUBLE;
double funcEnd = (double) ((Long) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_ENDTIME))
+ .get(FunctionDataDBTable.COLUMN.ENDTIME.index))
/ TimelineConstants.MEGA_DOUBLE;
int type = (Integer) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_STARTTYPE)
+ .get(FunctionDataDBTable.COLUMN.STARTTYPE.index)
+ (Integer) idata
- .get(FunctionDataDBTable.COLUMN_INDEX_ENDTYPE);
+ .get(FunctionDataDBTable.COLUMN.ENDTYPE.index);
DAChartBoardItem functionItem = findFunctionBoardItem(threads,
tid);
public class KernelListTable extends DAWindowingTableComposite {
private KernelDataPerThread selectedData = null;
private boolean isCoreSelected = true;
-
+
public KernelListTable(Composite parent, int compStyle, int tableStyle) {
super(parent, compStyle, tableStyle);
- setDataType(false, 0); // timeColumnIdex
+ setDataType(false, 0); // timeColumnIdex
setContextMenu(AnalyzerConstants.CONTEXT_TABLE_RANGE);
table.addSelectionListener(new SelectionListener() {
int seqnum;
long starttime, endtime, exectime;
if (isCoreSelected) {
- seqnum = (Integer) row.get(ContextDataDBTable.COLUMN_INDEX_SEQ);
+ seqnum = (Integer) row.get(ContextDataDBTable.COLUMN.SEQ.index);
starttime = (Long) row
- .get(ContextDataDBTable.COLUMN_INDEX_STARTTIME);
+ .get(ContextDataDBTable.COLUMN.STARTTIME.index);
endtime = (Long) row
- .get(ContextDataDBTable.COLUMN_INDEX_ENDTIME);
+ .get(ContextDataDBTable.COLUMN.ENDTIME.index);
exectime = endtime - starttime;
- text.add(row.get(ContextDataDBTable.COLUMN_INDEX_SEQ)
+ text.add(row.get(ContextDataDBTable.COLUMN.SEQ.index)
.toString());
- text.add(row.get(ContextDataDBTable.COLUMN_INDEX_PID)
+ text.add(row.get(ContextDataDBTable.COLUMN.PID.index)
.toString());
- text.add(row.get(ContextDataDBTable.COLUMN_INDEX_TID)
+ text.add(row.get(ContextDataDBTable.COLUMN.TID.index)
.toString());
- text.add(row.get(ContextDataDBTable.COLUMN_INDEX_CPU)
+ text.add(row.get(ContextDataDBTable.COLUMN.CPUNUM.index)
.toString());
text.add(Formatter.toTimeFormat(starttime));
text.add(Formatter.toTimeFormat(endtime));
text.add(Formatter.toTimeFormat(exectime));
- text.add(row.get(ContextDataDBTable.COLUMN_INDEX_STARTADDR)
+ text.add(row.get(ContextDataDBTable.COLUMN.STARTADDR.index)
.toString());
- text.add(row.get(ContextDataDBTable.COLUMN_INDEX_ENDADDR)
+ text.add(row.get(ContextDataDBTable.COLUMN.ENDADDR.index)
.toString());
text.add("");
} else {
seqnum = (Integer) row
- .get(FunctionDataDBTable.COLUMN_INDEX_SEQ);
+ .get(FunctionDataDBTable.COLUMN.SEQ.index);
starttime = (Long) row
- .get(FunctionDataDBTable.COLUMN_INDEX_STARTTIME);
+ .get(FunctionDataDBTable.COLUMN.STARTTIME.index);
endtime = (Long) row
- .get(FunctionDataDBTable.COLUMN_INDEX_ENDTIME);
+ .get(FunctionDataDBTable.COLUMN.ENDTIME.index);
exectime = endtime - starttime;
- text.add(row.get(FunctionDataDBTable.COLUMN_INDEX_SEQ)
+ text.add(row.get(FunctionDataDBTable.COLUMN.SEQ.index)
.toString());
- text.add(row.get(FunctionDataDBTable.COLUMN_INDEX_PID)
+ text.add(row.get(FunctionDataDBTable.COLUMN.PID.index)
.toString());
- text.add(row.get(FunctionDataDBTable.COLUMN_INDEX_TID)
+ text.add(row.get(FunctionDataDBTable.COLUMN.TID.index)
.toString());
- text.add(row.get(FunctionDataDBTable.COLUMN_INDEX_CPU)
+ text.add(row.get(FunctionDataDBTable.COLUMN.CPUNUM.index)
.toString());
text.add(Formatter.toTimeFormat(starttime));
text.add(Formatter.toTimeFormat(endtime));
text.add(Formatter.toTimeFormat(exectime));
- text.add(row.get(FunctionDataDBTable.COLUMN_INDEX_STARTADDR)
+ text.add(row.get(FunctionDataDBTable.COLUMN.STARTADDR.index)
.toString());
- text.add(row.get(FunctionDataDBTable.COLUMN_INDEX_ENDADDR)
+ text.add(row.get(FunctionDataDBTable.COLUMN.ENDADDR.index)
.toString());
- text.add(row.get(FunctionDataDBTable.COLUMN_INDEX_FUNCNAME)
+ text.add(row.get(FunctionDataDBTable.COLUMN.FUNCNAME.index)
.toString());
}
+ selectedData.getTid() + " order by ";
if (isCoreSelected)
- option += ContextDataDBTable.STARTTIME;
+ option += ContextDataDBTable.COLUMN.STARTTIME.name;
else
- option += FunctionDataDBTable.STARTTIME;
+ option += FunctionDataDBTable.COLUMN.STARTTIME.name;
return option;
} else {
protected String getTimeColumnName() {
String timestr;
if (isCoreSelected)
- timestr = ContextDataDBTable.STARTTIME;
+ timestr = ContextDataDBTable.COLUMN.STARTTIME.name;
else
- timestr = FunctionDataDBTable.STARTTIME;
+ timestr = FunctionDataDBTable.COLUMN.STARTTIME.name;
return timestr;
}
\r
import java.util.List;\r
\r
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;\r
import org.tizen.dynamicanalyzer.common.AnalyzerManager;\r
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;\r
\r
if (inserterThread != null && inserterThread.isAlive()) {\r
try {\r
sendNotify();\r
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);\r
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);\r
} catch (InterruptedException e) {\r
e.printStackTrace();\r
}\r
}\r
\r
public static void sendNotify() {\r
- synchronized (contextDataQueue) {\r
- contextDataQueue.notifyAll();\r
- }\r
+ contextDataQueue.wake();\r
}\r
}\r
public class ContextDataDBTable extends DBTable {
private static final String TABLENAME = "ContextSwitchData";
-
- public static final String SEQ = DBConstants.COMMON_COLUMN_SEQ;
- public static final String PID = DBConstants.COMMON_COLUMN_PID;
- public static final String TID = DBConstants.COMMON_COLUMN_TID;
- public static final String CPUNUM = "CpuNum";
- public static final String STARTTIME = "StartTime";
- public static final String STARTADDR = "StartPcAddr";
- public static final String ENDTIME = "EndTime";
- public static final String ENDADDR = "EndPcAddr";
-
- public final static int COLUMN_INDEX_SEQ = 0;
- public final static int COLUMN_INDEX_PID = 1;
- public final static int COLUMN_INDEX_TID = 2;
- public final static int COLUMN_INDEX_CPU = 3;
- public final static int COLUMN_INDEX_STARTTIME = 4;
- public final static int COLUMN_INDEX_STARTADDR = 5;
- public final static int COLUMN_INDEX_ENDTIME = 6;
- public final static int COLUMN_INDEX_ENDADDR = 7;
+
+ public enum COLUMN {
+ SEQ(0, DBConstants.COMMON_COLUMN_SEQ),
+ PID(1, DBConstants.COMMON_COLUMN_PID),
+ TID(2, DBConstants.COMMON_COLUMN_TID),
+ CPUNUM(3, "CpuNum"),
+ STARTTIME(4, "StartTime"),
+ STARTADDR(5, "StartPcAddr"),
+ ENDTIME(6, "EndTime"),
+ ENDADDR(7, "EndPcAddr");
+
+ public final int index;
+ public final String name;
+
+ COLUMN(int index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+ }
@Override
public String getTableName() {
}
public ContextDataDBTable() {
- addColumn(new DBColumn(SEQ, DBConstants.NOT_NULL, DBConstants.INTEGER));
- addColumn(new DBColumn(PID, DBConstants.NOT_NULL, DBConstants.INTEGER));
- addColumn(new DBColumn(TID, DBConstants.NOT_NULL, DBConstants.INTEGER));
- addColumn(new DBColumn(CPUNUM, DBConstants.EMPTY, DBConstants.INTEGER));
- addColumn(new DBColumn(STARTTIME, DBConstants.EMPTY, DBConstants.LONG));
- addColumn(new DBColumn(STARTADDR, DBConstants.EMPTY, DBConstants.LONG));
- addColumn(new DBColumn(ENDTIME, DBConstants.EMPTY, DBConstants.LONG));
- addColumn(new DBColumn(ENDADDR, DBConstants.EMPTY, DBConstants.LONG));
+ addColumn(new DBColumn(COLUMN.SEQ.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.PID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.TID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.CPUNUM.name, DBConstants.EMPTY, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.STARTTIME.name, DBConstants.EMPTY, DBConstants.LONG));
+ addColumn(new DBColumn(COLUMN.STARTADDR.name, DBConstants.EMPTY, DBConstants.LONG));
+ addColumn(new DBColumn(COLUMN.ENDTIME.name, DBConstants.EMPTY, DBConstants.LONG));
+ addColumn(new DBColumn(COLUMN.ENDADDR.name, DBConstants.EMPTY, DBConstants.LONG));
}
@Override
isPrepared = false;
} else {
try {
- prep.setInt(1, (Integer) (rowData.get(0)));
- prep.setInt(2, (Integer) (rowData.get(1)));
- prep.setInt(3, (Integer) (rowData.get(2)));
- prep.setInt(4, (Integer) (rowData.get(3)));
-
- prep.setLong(5, (Long) (rowData.get(4)));
- prep.setLong(6, (Long) (rowData.get(5)));
- prep.setLong(7, (Long) (rowData.get(6)));
- prep.setLong(8, (Long) (rowData.get(7)));
+ prep.setInt(COLUMN.SEQ.index + 1, (Integer) (rowData.get(COLUMN.SEQ.index)));
+ prep.setInt(COLUMN.PID.index + 1, (Integer) (rowData.get(COLUMN.PID.index)));
+ prep.setInt(COLUMN.TID.index + 1, (Integer) (rowData.get(COLUMN.TID.index)));
+ prep.setInt(COLUMN.CPUNUM.index + 1, (Integer) (rowData.get(COLUMN.CPUNUM.index)));
+ prep.setLong(COLUMN.STARTTIME.index + 1, (Long) (rowData.get(COLUMN.STARTTIME.index)));
+ prep.setLong(COLUMN.STARTADDR.index + 1, (Long) (rowData.get(COLUMN.STARTADDR.index)));
+ prep.setLong(COLUMN.ENDTIME.index + 1, (Long) (rowData.get(COLUMN.ENDTIME.index)));
+ prep.setLong(COLUMN.ENDADDR.index + 1, (Long) (rowData.get(COLUMN.ENDADDR.index)));
} catch (SQLException e) {
e.printStackTrace();
isPrepared = false;
\r
import java.util.List;\r
\r
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;\r
import org.tizen.dynamicanalyzer.common.AnalyzerManager;\r
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;\r
\r
if (inserterThread != null && inserterThread.isAlive()) {\r
try {\r
sendNotify();\r
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);\r
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);\r
} catch (InterruptedException e) {\r
e.printStackTrace();\r
}\r
}\r
\r
public static void sendNotify() {\r
- synchronized (functionDataQueue) {\r
- functionDataQueue.notifyAll();\r
- }\r
+ functionDataQueue.wake();\r
}\r
}\r
public class FunctionDataDBTable extends DBTable {
private static final String TABLENAME = "FunctionCallData";
- public static final String SEQ = DBConstants.COMMON_COLUMN_SEQ;
- public static final String PID = DBConstants.COMMON_COLUMN_PID;
- public static final String TID = DBConstants.COMMON_COLUMN_TID;
- public static final String CPUNUM = "CpuNum";
- public static final String STARTTIME = "StartTime";
- public static final String STARTTYPE = "StartType";
- public static final String STARTADDR = "StartPcAddr";
- public static final String ENDTIME = "EndTime";
- public static final String ENDTYPE = "EndType";
- public static final String ENDADDR = "EndPcAddr";
- public static final String FUNCNAME = "FunctionName";
-
- public final static int COLUMN_INDEX_SEQ = 0;
- public final static int COLUMN_INDEX_PID = 1;
- public final static int COLUMN_INDEX_TID = 2;
- public final static int COLUMN_INDEX_CPU = 3;
- public final static int COLUMN_INDEX_STARTTIME = 4;
- public final static int COLUMN_INDEX_STARTTYPE = 5;
- public final static int COLUMN_INDEX_STARTADDR = 6;
- public final static int COLUMN_INDEX_ENDTIME = 7;
- public final static int COLUMN_INDEX_ENDTYPE = 8;
- public final static int COLUMN_INDEX_ENDADDR = 9;
- public final static int COLUMN_INDEX_FUNCNAME = 10;
+ public enum COLUMN {
+ SEQ(0, DBConstants.COMMON_COLUMN_SEQ),
+ PID(1, DBConstants.COMMON_COLUMN_PID),
+ TID(2, DBConstants.COMMON_COLUMN_TID),
+ CPUNUM(3, "CpuNum"),
+ STARTTIME(4, "StartTime"),
+ STARTTYPE(5, "StartType"),
+ STARTADDR(6, "StartPcAddr"),
+ ENDTIME(7, "EndTime"),
+ ENDTYPE(8, "EndType"),
+ ENDADDR(9, "EndPcAddr"),
+ FUNCNAME(10, "FunctionName");
+
+ public final int index;
+ public final String name;
+
+ COLUMN(int index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+ }
@Override
public String getTableName() {
}
public FunctionDataDBTable() {
- addColumn(new DBColumn(SEQ, DBConstants.NOT_NULL, DBConstants.INTEGER));
- addColumn(new DBColumn(PID, DBConstants.NOT_NULL, DBConstants.INTEGER));
- addColumn(new DBColumn(TID, DBConstants.NOT_NULL, DBConstants.INTEGER));
- addColumn(new DBColumn(CPUNUM, DBConstants.EMPTY, DBConstants.INTEGER));
- addColumn(new DBColumn(STARTTIME, DBConstants.EMPTY, DBConstants.LONG));
- addColumn(new DBColumn(STARTTYPE, DBConstants.EMPTY,
- DBConstants.INTEGER));
- addColumn(new DBColumn(STARTADDR, DBConstants.EMPTY, DBConstants.LONG));
- addColumn(new DBColumn(ENDTIME, DBConstants.EMPTY, DBConstants.LONG));
- addColumn(new DBColumn(ENDTYPE, DBConstants.EMPTY, DBConstants.INTEGER));
- addColumn(new DBColumn(ENDADDR, DBConstants.EMPTY, DBConstants.LONG));
- addColumn(new DBColumn(FUNCNAME, DBConstants.EMPTY,
+ addColumn(new DBColumn(COLUMN.SEQ.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.PID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.TID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.CPUNUM.name, DBConstants.EMPTY, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.STARTTIME.name, DBConstants.EMPTY, DBConstants.LONG));
+ addColumn(new DBColumn(COLUMN.STARTTYPE.name, DBConstants.EMPTY, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.STARTADDR.name, DBConstants.EMPTY, DBConstants.LONG));
+ addColumn(new DBColumn(COLUMN.ENDTIME.name, DBConstants.EMPTY, DBConstants.LONG));
+ addColumn(new DBColumn(COLUMN.ENDTYPE.name, DBConstants.EMPTY, DBConstants.INTEGER));
+ addColumn(new DBColumn(COLUMN.ENDADDR.name, DBConstants.EMPTY, DBConstants.LONG));
+ addColumn(new DBColumn(COLUMN.FUNCNAME.name, DBConstants.EMPTY,
DBConstants.VARCHAR, DBConstants.FUNCNAME_LEN));
}
isPrepared = false;
} else {
try {
- prep.setInt(1, (Integer) (rowData.get(0)));
- prep.setInt(2, (Integer) (rowData.get(1)));
- prep.setInt(3, (Integer) (rowData.get(2)));
- prep.setInt(4, (Integer) (rowData.get(3)));
+ prep.setInt(COLUMN.SEQ.index + 1, (Integer) (rowData.get(COLUMN.SEQ.index)));
+ prep.setInt(COLUMN.PID.index + 1, (Integer) (rowData.get(COLUMN.PID.index)));
+ prep.setInt(COLUMN.TID.index + 1, (Integer) (rowData.get(COLUMN.TID.index)));
+ prep.setInt(COLUMN.CPUNUM.index + 1, (Integer) (rowData.get(COLUMN.CPUNUM.index)));
- prep.setLong(5, (Long) (rowData.get(4)));
- prep.setInt(6, (Integer) (rowData.get(5)));
- prep.setLong(7, (Long) (rowData.get(6)));
+ prep.setLong(COLUMN.STARTTIME.index + 1, (Long) (rowData.get(COLUMN.STARTTIME.index)));
+ prep.setInt(COLUMN.STARTTYPE.index + 1, (Integer) (rowData.get(COLUMN.STARTTYPE.index)));
+ prep.setLong(COLUMN.STARTADDR.index + 1, (Long) (rowData.get(COLUMN.STARTADDR.index)));
- prep.setLong(8, (Long) (rowData.get(7)));
- prep.setInt(9, (Integer) (rowData.get(8)));
- prep.setLong(10, (Long) (rowData.get(9)));
+ prep.setLong(COLUMN.ENDTIME.index + 1, (Long) (rowData.get(COLUMN.ENDTIME.index)));
+ prep.setInt(COLUMN.ENDTYPE.index + 1, (Integer) (rowData.get(COLUMN.ENDTYPE.index)));
+ prep.setLong(COLUMN.ENDADDR.index + 1, (Long) (rowData.get(COLUMN.ENDADDR.index)));
- String retstr = clipString((String) (rowData.get(10)),
- DBConstants.FUNCNAME_LEN, rowData.get(0).toString());
+ String retstr = clipString((String) (rowData.get(COLUMN.FUNCNAME.index)),
+ DBConstants.FUNCNAME_LEN, rowData.get(COLUMN.SEQ.index).toString());
- prep.setString(11, retstr);
+ prep.setString(COLUMN.FUNCNAME.index + 1, retstr);
} catch (SQLException e) {
e.printStackTrace();
isPrepared = false;
public List<List<Object>> getContextDataFromDB(long start, long end) {
String where = String.format(queryto_withTime,
- ContextDataDBTable.STARTTIME, end, ContextDataDBTable.ENDTIME,
- start, ContextDataDBTable.STARTTIME);
+ ContextDataDBTable.COLUMN.STARTTIME.name, end,
+ ContextDataDBTable.COLUMN.ENDTIME.name, start,
+ ContextDataDBTable.COLUMN.STARTTIME.name);
DBTable table = KernelDataManager.getInstance().getContextDataTable();
if (tid >= 0) {
where = String.format(queryto_withTidAndTime,
- FunctionDataDBTable.TID, tid,
- FunctionDataDBTable.STARTTIME, end,
- FunctionDataDBTable.ENDTIME, start,
- FunctionDataDBTable.STARTTIME);
+ FunctionDataDBTable.COLUMN.TID.name, tid,
+ FunctionDataDBTable.COLUMN.STARTTIME.name, end,
+ FunctionDataDBTable.COLUMN.ENDTIME.name, start,
+ FunctionDataDBTable.COLUMN.STARTTIME.name);
} else {
where = String.format(queryto_withTime,
- FunctionDataDBTable.STARTTIME, end,
- FunctionDataDBTable.ENDTIME, start,
- FunctionDataDBTable.STARTTIME);
+ FunctionDataDBTable.COLUMN.STARTTIME.name, end,
+ FunctionDataDBTable.COLUMN.ENDTIME.name, start,
+ FunctionDataDBTable.COLUMN.STARTTIME.name);
}
DBTable table = KernelDataManager.getInstance().getFunctionDataTable();
}
public List<List<Object>> getFuncnameFromDB(int tid) {
- String where = String.format(queryto_withTid, FunctionDataDBTable.TID,
- tid, FunctionDataDBTable.FUNCNAME);
+ String where = String.format(queryto_withTid,
+ FunctionDataDBTable.COLUMN.TID.name, tid,
+ FunctionDataDBTable.COLUMN.FUNCNAME.name);
List<String> selectColumn = new ArrayList<String>();
- selectColumn.add(FunctionDataDBTable.FUNCNAME);
+ selectColumn.add(FunctionDataDBTable.COLUMN.FUNCNAME.name);
DBTable table = KernelDataManager.getInstance().getFunctionDataTable();
import java.util.List;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
if (inserterThread != null && inserterThread.isAlive()) {
try {
sendNotify();
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void sendNotify() {
- synchronized (cpuDataQueue) {
- cpuDataQueue.notifyAll();
- }
+ cpuDataQueue.wake();
}
}
import java.util.List;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
public class CustomDataDBInserter implements Runnable {
- private static ReadBlockingQueue<List<List<Object>>> customDataQueue = new ReadBlockingQueue<List<List<Object>>>();
+ private static ReadBlockingQueue<List<List<Object>>> customDataQueue = new ReadBlockingQueue<List<List<Object>>>();
- private static volatile Thread inserterThread = null;
+ private static volatile Thread inserterThread = null;
- public static void startThread() {
- if (inserterThread == null || !inserterThread.isAlive()) {
- synchronized (CustomDataDBInserter.class) {
- if (inserterThread == null || !inserterThread.isAlive()) {
- inserterThread = new Thread(null,
- new CustomDataDBInserter());
- inserterThread.start();
- }
- }
- }
- }
+ public static void startThread() {
+ if (inserterThread == null || !inserterThread.isAlive()) {
+ synchronized (CustomDataDBInserter.class) {
+ if (inserterThread == null || !inserterThread.isAlive()) {
+ inserterThread = new Thread(null,
+ new CustomDataDBInserter());
+ inserterThread.start();
+ }
+ }
+ }
+ }
- public static void stopThread() {
- if (inserterThread != null && inserterThread.isAlive()) {
- try {
- sendNotify();
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
+ public static void stopThread() {
+ if (inserterThread != null && inserterThread.isAlive()) {
+ try {
+ sendNotify();
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ }
- public static void pushContextData(List<List<Object>> data) {
- customDataQueue.offer(data);
- }
+ public static void pushContextData(List<List<Object>> data) {
+ customDataQueue.offer(data);
+ }
- public static void clear() {
- stopThread();
- }
+ public static void clear() {
+ stopThread();
+ }
- @Override
- public void run() {
- while (!AnalyzerManager.isExit()) {
- List<List<Object>> customData = customDataQueue.poll();
-
- if (customData != null && customData.size() != 0) {
- for (int i = 0; i < customData.size(); i++) {
- List<Object> row = customData.get(i);
- }
- TimelineChartManager.getInstance().getCustomDataTable().insertData(customData);
- }
- }
- }
+ @Override
+ public void run() {
+ while (!AnalyzerManager.isExit()) {
+ List<List<Object>> customData = customDataQueue.poll();
- public static void sendNotify() {
- synchronized (customDataQueue) {
- customDataQueue.notifyAll();
- }
- }
+ if (customData != null && customData.size() != 0) {
+ for (int i = 0; i < customData.size(); i++) {
+ List<Object> row = customData.get(i);
+ }
+ TimelineChartManager.getInstance().getCustomDataTable()
+ .insertData(customData);
+ }
+ }
+ }
+
+ public static void sendNotify() {
+ customDataQueue.wake();
+ }
}
import java.util.List;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
if (inserterThread != null && inserterThread.isAlive()) {
try {
sendNotify();
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void sendNotify() {
- synchronized (energyDataQueue) {
- energyDataQueue.notifyAll();
- }
+ energyDataQueue.wake();
}
}
import java.util.List;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
if (inserterThread != null && inserterThread.isAlive()) {
try {
sendNotify();
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void sendNotify() {
- synchronized (processDataQueue) {
- processDataQueue.notifyAll();
- }
+ processDataQueue.wake();
}
}
import java.util.List;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
if (inserterThread != null && inserterThread.isAlive()) {
try {
sendNotify();
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void pushContextData(List<List<Object>> data) {
- screenShotDataQueue.offer(data);
+ screenShotDataQueue.offer(data);
}
public static void clear() {
public void run() {
while (!AnalyzerManager.isExit()) {
List<List<Object>> screenShotData = screenShotDataQueue.poll();
-
+
if (screenShotData != null && screenShotData.size() != 0) {
- for (int i = 0; i < screenShotData.size(); i++) {
- List<Object> row = screenShotData.get(i);
- }
- TimelineChartManager.getInstance().getScreenShotTable().insertData(screenShotData);
+ for (int i = 0; i < screenShotData.size(); i++) {
+ List<Object> row = screenShotData.get(i);
+ }
+ TimelineChartManager.getInstance().getScreenShotTable()
+ .insertData(screenShotData);
}
}
}
public static void sendNotify() {
- synchronized (screenShotDataQueue) {
- screenShotDataQueue.notifyAll();
- }
+ screenShotDataQueue.wake();
}
}
-
import java.util.List;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
if (inserterThread != null && inserterThread.isAlive()) {
try {
sendNotify();
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void pushContextData(List<List<Object>> data) {
- systemDataQueue.offer(data);
+ systemDataQueue.offer(data);
}
public static void clear() {
public void run() {
while (!AnalyzerManager.isExit()) {
List<List<Object>> contextData = systemDataQueue.poll();
-
+
if (contextData != null && contextData.size() != 0) {
- for (int i = 0; i < contextData.size(); i++) {
- List<Object> row = contextData.get(i);
-// System.err.print("Count : " + row.size() + ", ");
- }
-// System.err.println("\n----------------------------");
+ for (int i = 0; i < contextData.size(); i++) {
+ List<Object> row = contextData.get(i);
+ // System.err.print("Count : " + row.size() + ", ");
+ }
+ // System.err.println("\n----------------------------");
TimelineChartManager.getInstance().getSystemDataTable()
.insertData(contextData);
}
}
public static void sendNotify() {
- synchronized (systemDataQueue) {
- systemDataQueue.notifyAll();
- }
+ systemDataQueue.wake();
}
}
private static final String TABLENAME = "TIMELINE_SYSTEM_DATA";
public static enum COLUMN {
- TIME,
+ TIME,
CPU_LOAD_APP,
CPU_LOAD_TOTAL,
PROCESS_COUNT,
import java.util.List;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.swap.logparser.ReadBlockingQueue;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
if (inserterThread == null || !inserterThread.isAlive()) {
synchronized (UIEventDBInserter.class) {
if (inserterThread == null || !inserterThread.isAlive()) {
- inserterThread = new Thread(null,
- new UIEventDBInserter());
+ inserterThread = new Thread(null, new UIEventDBInserter());
inserterThread.start();
}
}
if (inserterThread != null && inserterThread.isAlive()) {
try {
sendNotify();
- inserterThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ inserterThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void pushContextData(List<List<Object>> data) {
- uiEventDataQueue.offer(data);
+ uiEventDataQueue.offer(data);
}
public static void clear() {
public void run() {
while (!AnalyzerManager.isExit()) {
List<List<Object>> uiEventData = uiEventDataQueue.poll();
-
+
if (uiEventData != null && uiEventData.size() != 0) {
- for (int i = 0; i < uiEventData.size(); i++) {
- List<Object> row = uiEventData.get(i);
- }
- TimelineChartManager.getInstance().getUIEventTable().insertData(uiEventData);
+ for (int i = 0; i < uiEventData.size(); i++) {
+ List<Object> row = uiEventData.get(i);
+ }
+ TimelineChartManager.getInstance().getUIEventTable()
+ .insertData(uiEventData);
}
}
}
public static void sendNotify() {
- synchronized (uiEventDataQueue) {
- uiEventDataQueue.notifyAll();
- }
+ uiEventDataQueue.wake();
}
}
if (null != openTraceInputThread && openTraceInputThread.isAlive()) {
try {
openTraceInputThread
- .join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ .join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
package org.tizen.dynamicanalyzer.uirecorder;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.util.DALogger;
try {
sendNotify();
DA_LOG.debug("record thread join wait!");
- recordThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ recordThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
DA_LOG.debug("record thread join interrupted!");
try {
playThread.interrupt();
DA_LOG.debug("replay thread join wait!");
- playThread.join(AnalyzerManager.THREAD_JOIN_WAIT_TIME);
+ playThread.join(AnalyzerConstants.THREAD_JOIN_WAIT_TIME);
DA_LOG.debug("replay thread join successed!");
} catch (InterruptedException e) {
e.printStackTrace();