import org.tizen.dynamicanalyzer.resources.FontResources;
import org.tizen.dynamicanalyzer.swap.model.data.GLES20LogData;
import org.tizen.dynamicanalyzer.ui.opengl.data.GLDataManager;
+import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLAPIData;
import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLAPINameDefine;
import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLCurrentFrameDataManger;
import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLES20ErrorDefine;
GLSelectionData data = (GLSelectionData) vdata;
String id = vdata.getViewID();
if (id.equals(GLPage.chartViewID)) {
- updateChartInfo(data);
+ updateTableInfo(data);
} else if (id.equals(GLPage.apiListViewID)) {
updateAPITableInfo(data);
} else if (id.equals(GLPage.contextViewID)) {
}
}
- private void updateChartInfo(GLSelectionData data) {
- int frameIndex = data.getFrameTimeIndex();
- GLCurrentFrameDataManger glFrameData = GLDataManager.getInstance()
- .getAPIDataMagerInstance().selectOpenGLAPIData(frameIndex);
- if (null == glFrameData) {
+ private void updateTableInfo(GLSelectionData data) {
+ List<List<Object>> apiList = GLDataManager.getInstance().getCurrentAPITableData();
+ if (null == apiList || apiList.size() == 0 || apiList.get(0).size() == 0) {
return;
}
+ GLCurrentFrameDataManger glFrameData = new GLCurrentFrameDataManger();
+ for (List<Object> listItem : apiList) {
+ glFrameData.addAPIData(new GLAPIData(listItem));
+ }
+
StringBuffer strDetailView = new StringBuffer();
strDetailView.append(CommonConstants.NEW_LINE);
strDetailView.append(leftFormAttachment + GLPageLabels.GL_DETAILS_VIEW_FRAME
- + String.valueOf(frameIndex) + heightFormAttachment);
+ + getSelectedFrameIndex(data) + heightFormAttachment);
strDetailView.append(leftFormAttachment + GLPageLabels.GL_DETAILS_VIEW_ELAPSED_TIME
+ glFrameData.getFrametime() + "(μs)" + heightFormAttachment);//$NON-NLS-1$
strDetailView.append(leftFormAttachment + glFrameData.getAPIDataList().size()
detailText.setText(strDetailView.toString());
}
+ private String getSelectedFrameIndex(GLSelectionData data) {
+ int startFrameIndex = data.getFrameTimeIndex();
+ int endFrameIndex = data.getSecondFrameIndex();
+ if (startFrameIndex == endFrameIndex) {
+ return String.valueOf(startFrameIndex);
+ } else {
+ return String.format("%d - %d", startFrameIndex, endFrameIndex);//$NON-NLS-1$
+ }
+ }
+
private void updateAPITableInfo(GLSelectionData data) {
GridItem[] gridItems = (GridItem[]) data.getData();
DATableDataFormat tableDataFormat = (DATableDataFormat) gridItems[0].getData();
import org.tizen.dynamicanalyzer.database.DBTable;
import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLAPIData;
-import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLCurrentFrameDataManger;
public class GLAPIDBTableManager extends DBTable {
private static final String TABLENAME = "GL_API";//$NON-NLS-1$
public final static int TABLE_CALLER_PC_ADDRESS_INDEX = 11;
public final static int TABLE_LIB_NAME_INDEX = 12;
- private static final String SELECT_API_TABLE_QUERY_FROM_FRAME_TIME_CHART = "select "//$NON-NLS-1$
- + SEQ + CommonConstants.COMMA + FRAME_INDEX + CommonConstants.COMMA
- + CONTEXT_ID
- + CommonConstants.COMMA + TIME + CommonConstants.COMMA + API_ID
- + CommonConstants.COMMA
- + ARGUMENT + CommonConstants.COMMA + RET + CommonConstants.COMMA
- + ELAPSED_TIME
- + CommonConstants.COMMA + ERROR + CommonConstants.COMMA + PID
- + CommonConstants.COMMA
- + TID + CommonConstants.COMMA + CALLER_PC_ADDRESS + CommonConstants.COMMA
- + LIB_NAME
- + " from "//$NON-NLS-1$
- + TABLENAME + " where " + FRAME_INDEX + " = '%s'";
-
private static final String SELECT_API_TABLE_QUERY_FROM_FRAME_RATE_CHART = "select "//$NON-NLS-1$
+ SEQ + CommonConstants.COMMA + FRAME_INDEX + CommonConstants.COMMA
+ CONTEXT_ID
insertData(insertDataList);
}
- public GLCurrentFrameDataManger selectOpenGLAPIData(int frameIndex) {
- String query = String.format(SELECT_API_TABLE_QUERY_FROM_FRAME_TIME_CHART, frameIndex);
- List<List<Object>> result = SqlConnectionManager.executeQuery(query);
- if (null == result || result.size() == 0 || result.get(0).size() == 0) {
- return null;
- }
- GLCurrentFrameDataManger frameData = new GLCurrentFrameDataManger();
- for (List<Object> apiList : result) {
- frameData.addAPIData(new GLAPIData(apiList));
- }
- return frameData;
- }
-
public List<List<Object>> selectOpenGLAPIData(int frameStartIndex, int frameEndIndex) {
String query = String.format(SELECT_API_TABLE_QUERY_FROM_FRAME_RATE_CHART, frameStartIndex,
frameEndIndex);
private boolean isSelectFrameRateChart = true;
private long apiTimeOfPreFrameIndex = 0;
private String selectedAPIAtTable = CommonConstants.EMPTY;
+ private List<List<Object>> currentAPITableData = null;
+ private int chartSelectedStartIndexForAPITable = -1;
+ private int chartSelectedEndIndexForAPITable = -1;
private GLAPIDBTableManager apiDBTable = null;
private GLFrameRateDBTableManager frameRateDBTable = null;
frameRateDataList = new ArrayList<GLFrameRateInfo>();
sharingContextList = new ArrayList<GLSharingContextType>();
statisticsDataManger = new GLStatisticsDataManager();
+ currentAPITableData = new ArrayList<List<Object>>();
startFrameRateTime = 1;
selectedContextID = -1;
currentFrameIndex = 1;
+ chartSelectedStartIndexForAPITable = -1;
+ chartSelectedEndIndexForAPITable = -1;
isSelectFrameRateChart = true;
apiTimeOfPreFrameIndex = 0;
selectedAPIAtTable = CommonConstants.EMPTY;
for (LogData data : glesLogs.getRawLogs()) {
GLES20LogData logData = (GLES20LogData) data;
if (checkFailedAPI(logData)) {
- SummaryDataManager.getInstance().getFailedApiDataMaker().makeData(logData);
+ SummaryDataManager.getInstance().getFailedApiDataMaker()
+ .makeData(logData);
}
}
}
int currentFrameIndexOfState = currentFrameIndex;
for (LogData data : glesLogs.getRawLogs()) {
GLES20LogData logData = (GLES20LogData) data;
- stateDataManager.extractGLAPIParameter(logData, currentFrameIndexOfState);
+ stateDataManager.extractGLAPIParameter(logData,
+ currentFrameIndexOfState);
if (GLUtil.isLastAPIOfFrame(logData.getApiName())) {
currentFrameIndexOfState++;
}
List<GLAPIData> insetAPIDataList = new ArrayList<GLAPIData>();
for (LogData data : glesLogs.getRawLogs()) {
GLES20LogData logData = (GLES20LogData) data;
- insetAPIDataList.add(new GLAPIData(logData, currentFrameIndexOfAPI));
+ insetAPIDataList
+ .add(new GLAPIData(logData, currentFrameIndexOfAPI));
if (GLUtil.isLastAPIOfFrame(logData.getApiName())) {
currentFrameIndexOfAPI++;
}
GLCurrentFrameDataManger currentFrameData = new GLCurrentFrameDataManger();
for (LogData data : glesLogs.getRawLogs()) {
GLES20LogData logData = (GLES20LogData) data;
- currentFrameData.addAPIData(new GLAPIData(logData, currentFrameIndexOfFrameTime));
+ currentFrameData.addAPIData(new GLAPIData(logData,
+ currentFrameIndexOfFrameTime));
if (GLUtil.isLastAPIOfFrame(logData.getApiName())) {
- makeFrameTimeData(insetFrameTimeChartDataList, currentFrameData,
- currentFrameIndexOfFrameTime, apiTimeOfPreFrameIndex, logData.getTime());
+ makeFrameTimeData(insetFrameTimeChartDataList,
+ currentFrameData, currentFrameIndexOfFrameTime,
+ apiTimeOfPreFrameIndex, logData.getTime());
currentFrameIndexOfFrameTime++;
apiTimeOfPreFrameIndex = logData.getTime();
}
hasFailedAPIofCurrentFrame = true;
}
if (GLUtil.isLastAPIOfFrame(logData.getApiName())) {
- makeFrameRateChartDataList(logData, currentFrameIndexOfFrameRate,
+ makeFrameRateChartDataList(logData,
+ currentFrameIndexOfFrameRate,
hasFailedAPIofCurrentFrame);
hasFailedAPIofCurrentFrame = false;
currentFrameIndexOfFrameRate++;
}
}
- private void makeFrameTimeData(List<List<Object>> insetFrameTimeChartDataList,
- GLCurrentFrameDataManger glCurrentFrameData, int currentFrameIndexOfFrameTime,
- long apiTimeOfPreFrameIndex, long apiTime) {
- long frameValue = (apiTime - apiTimeOfPreFrameIndex) / TimelineConstants.KILO_LONG;
+ private void makeFrameTimeData(
+ List<List<Object>> insetFrameTimeChartDataList,
+ GLCurrentFrameDataManger glCurrentFrameData,
+ int currentFrameIndexOfFrameTime, long apiTimeOfPreFrameIndex,
+ long apiTime) {
+ long frameValue = (apiTime - apiTimeOfPreFrameIndex)
+ / TimelineConstants.KILO_LONG;
List<Object> framTimeChartData = new ArrayList<Object>();
framTimeChartData.add(currentFrameIndexOfFrameTime);
- framTimeChartData.add(GLUtil.getTimeLineTime(glCurrentFrameData.getFirstLogData()));
+ framTimeChartData.add(GLUtil.getTimeLineTime(glCurrentFrameData
+ .getFirstLogData()));
framTimeChartData.add((int) frameValue);
framTimeChartData.add(glCurrentFrameData.hasError());
framTimeChartData.add(glCurrentFrameData.getStartSeq());
}
public void updateSharingContextList() {
- this.sharingContextList = GLDataManager.getInstance().getStateSharingDBTableManage()
- .selectSharingData();
+ this.sharingContextList = GLDataManager.getInstance()
+ .getStateSharingDBTableManage().selectSharingData();
}
public boolean isSharingData(long itemContextId) {
}
for (int i = 0; i < sharingContextList.size(); i++) {
long contextId = sharingContextList.get(i).getContextId();
- long sharingContextId = sharingContextList.get(i).getSharingContextId();
- if (contextId == selectedContextID && sharingContextId == itemContextId) {
+ long sharingContextId = sharingContextList.get(i)
+ .getSharingContextId();
+ if (contextId == selectedContextID
+ && sharingContextId == itemContextId) {
return true;
}
}
this.selectedContextID = selectedContextID;
}
+ public List<List<Object>> getCurrentAPITableData(int frameStartIndex,
+ int frameEndIndex) {
+ if (currentAPITableData != null
+ && chartSelectedStartIndexForAPITable == frameStartIndex
+ && chartSelectedEndIndexForAPITable == frameEndIndex) {
+ return currentAPITableData;
+ }
+ chartSelectedStartIndexForAPITable = frameStartIndex;
+ chartSelectedEndIndexForAPITable = frameEndIndex;
+ currentAPITableData = getAPIDataMagerInstance().selectOpenGLAPIData(
+ frameStartIndex, frameEndIndex);
+ return currentAPITableData;
+ }
+
+ public List<List<Object>> getCurrentAPITableData() {
+ return currentAPITableData;
+ }
+
public GLAPIDBTableManager getAPIDataMagerInstance() {
return apiDBTable;
}
if (items == null || items.length == 0) {
return;
}
- DATableDataFormat dataFormat = (DATableDataFormat) items[0].getData();
+ DATableDataFormat dataFormat = (DATableDataFormat) items[0]
+ .getData();
if (dataFormat.getLogData() instanceof GLAPIData == false) {
return;
}
long time = glAPIType.getTime();
int frameIndex = glAPIType.getFrameIndex();
long contextId = glAPIType.getContextID();
- GLDataManager.getInstance().setSelectedAPIAtTable(glAPIType.getApiName());
- GLSelectionData selData = new GLSelectionData(GLPage.apiListViewID, time, time,
- items, table, frameIndex, contextId);
+ GLDataManager.getInstance().setSelectedAPIAtTable(
+ glAPIType.getApiName());
+ GLSelectionData selData = new GLSelectionData(
+ GLPage.apiListViewID, time, time, items, table,
+ frameIndex, contextId);
AnalyzerManager.getCurrentPage().updateView(selData);
AnalyzerManager.updateView(GLPage.apiListViewID, selData);
protected List<TableInput> makeTableInput() {
List<TableInput> input = new ArrayList<TableInput>();
-
- List<List<Object>> apiList = GLDataManager.getInstance().getAPIDataMagerInstance()
- .selectOpenGLAPIData(startFrameIndex, endFrameIndex);
+ List<List<Object>> apiList = GLDataManager.getInstance()
+ .getCurrentAPITableData(startFrameIndex, endFrameIndex);
if (null == apiList) {
return null;
}
text.add(Integer.toString(glApiType.getFrameIndex()));
text.add(String.valueOf(Formatter.toTimeFormat(glApiType.getTime())));
text.add(glApiType.getApiName());
- text.add(GLConstantDefine.convertEnumValue(glApiType.getArgs(), CommonConstants.COMMA,
- null));
+ text.add(GLConstantDefine.convertEnumValue(glApiType.getArgs(),
+ CommonConstants.COMMA, null));
text.add(glApiType.getReturn());
text.add(String.valueOf(glApiType.getElapsedTime()));
text.add(GLES20ErrorDefine.getError(glApiType.getErrno()));
text.add(String.valueOf(glApiType.getPid()));
text.add(String.valueOf(glApiType.getTid()));
- DATableDataFormat tableData = new DATableDataFormat(Long.parseLong(seq));
+ DATableDataFormat tableData = new DATableDataFormat(
+ Long.parseLong(seq));
List<Object> compareData = new ArrayList<Object>();
for (int j = 0; j < text.size(); j++) {
compareData.add(text.get(j));
tableInput.setText(text);
tableInput.setData(glApiType);
tableInput.setData(tableData);
- if (!GLES20ErrorDefine.getError(glApiType.getErrno()).contains("SUCCESS")) {//$NON-NLS-1$
+ if (!GLES20ErrorDefine.getError(glApiType.getErrno()).contains(
+ "SUCCESS")) {//$NON-NLS-1$
tableInput.setFailed(true);
}
- if (GLDataManager.getInstance().getSelectedAPIAtTable().equals(glApiType.getApiName())) {
+ if (GLDataManager.getInstance().getSelectedAPIAtTable()
+ .equals(glApiType.getApiName())) {
tableInput.setSecondSelection(true);
}
input.add(tableInput);
int frameIndex = glAPIType.getFrameIndex();
long contextId = glAPIType.getContextID();
- GLSelectionData selData = new GLSelectionData(GLPage.apiListViewID, time, time, items,
- table, frameIndex, contextId);
+ GLSelectionData selData = new GLSelectionData(GLPage.apiListViewID,
+ time, time, items, table, frameIndex, contextId);
AnalyzerManager.getCurrentPage().updateView(selData);
}
}
- public void updateTableFromContext(int startFrameIndex, int endFrameIndex, String seq) {
+ public void updateTableFromContext(int startFrameIndex, int endFrameIndex,
+ String seq) {
if (startFrameIndex >= 0) {
this.startFrameIndex = startFrameIndex;
}
for (int ii = 0; ii < nSize; ii++) {
if (table.getItem(ii).getText(0).equals(seq)) {
table.setSelection(ii);
- table.getVerticalBar().setSelection(getScrollSelectionIndex(table, ii));
+ table.getVerticalBar().setSelection(
+ getScrollSelectionIndex(table, ii));
updateTable();
}
}
int frameIndex = glAPIType.getFrameIndex();
long contextId = glAPIType.getContextID();
- GLSelectionData selData = new GLSelectionData(GLPage.apiListViewID, time, time, items,
- table, frameIndex, contextId);
+ GLSelectionData selData = new GLSelectionData(GLPage.apiListViewID,
+ time, time, items, table, frameIndex, contextId);
AnalyzerManager.getCurrentPage().updateView(selData);
}