[Desc.] change network chart name, add cpu chart in network page, change detect faild api in table
[Issue] -
public static String FILE_API_LIST_VIEW_TITLE;
public static String FILE_API_LIST_VIEW_INDEX;
- public static String FILE_API_LIST_VIEW_TIME;
+ public static String FILE_API_LIST_VIEW_START_TIME;
+ public static String FILE_API_LIST_VIEW_END_TIME;
public static String FILE_API_LIST_VIEW_PID;
public static String FILE_API_LIST_VIEW_API;
public static String FILE_API_LIST_VIEW_PARAMETER;
FILE_API_LIST_VIEW_TITLE=File API List
FILE_API_LIST_VIEW_INDEX=\#
-FILE_API_LIST_VIEW_TIME=Time
+FILE_API_LIST_VIEW_START_TIME=Start Time
+FILE_API_LIST_VIEW_END_TIME=End Time
FILE_API_LIST_VIEW_PID=Process ID
FILE_API_LIST_VIEW_API=File API
FILE_API_LIST_VIEW_PARAMETER=Parameter
NETWORK_CHART_TOOLTIP_CLOSED=CLOSED
NETWORK_CHART_TOOLTIP_NOT_CLOSED=NOT CLOSED
-NETWORK_CHART_TRAFFIC_TITLE=Traffic
+NETWORK_CHART_TRAFFIC_TITLE=Transmission Size
NETWORK_CHART_TRAFFIC_FD=FD
NETWORK_CHART_TRAFFIC_SEND=Send
NETWORK_CHART_TRAFFIC_RECV=recv
package org.tizen.dynamicanalyzer.ui.file;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import org.eclipse.nebula.widgets.grid.GridItem;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.common.DASelectionData;
import org.tizen.dynamicanalyzer.error.ErrorCodeManager;
+import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
import org.tizen.dynamicanalyzer.model.TableInput;
import org.tizen.dynamicanalyzer.swap.model.data.FileData;
import org.tizen.dynamicanalyzer.ui.common.UICommonConstants;
List<TableInput> input = new ArrayList<TableInput>();
List<FileChartDataEvent> contents = data.getContents();
+ HashMap<String, Integer> findStartAPITableIndexHashMap = new HashMap<String, Integer>();
+ List<Integer> removeTableIndex = new ArrayList<Integer>();
FileChartDataEvent content;
for (int i = 0; i < contents.size(); i++) {
+
content = contents.get(i);
FileData contentTemp = content.getContents();
List<String> contentText = new ArrayList<String>();
List<String> contentData = new ArrayList<String>();
+ int startLogIndex = 0;
+ int fdApiType = contentTemp.getFdApiType();
+
+ if (fdApiType==LogCenterConstants.FD_API_TYPE_READ_START
+ || fdApiType
+ ==LogCenterConstants.FD_API_TYPE_WRITE_START) {
+ findStartAPITableIndexHashMap.put(
+ contentTemp.getArgs(), i);
+
+ } else if (fdApiType==LogCenterConstants.FD_API_TYPE_READ_END
+ || fdApiType==LogCenterConstants.FD_API_TYPE_WRITE_END) {
+ startLogIndex = findStartAPITableIndexHashMap.get(contentTemp.getArgs());
+ removeTableIndex.add(startLogIndex);
+ }
+
+
int seq = contentTemp.getSeq();
contentText.add(0, Integer.toString(seq));
contentData.add(Integer.toString(seq));
long time = contentTemp.getTime();
+ if (fdApiType==LogCenterConstants.FD_API_TYPE_READ_END
+ || fdApiType==LogCenterConstants.FD_API_TYPE_WRITE_END) {
+ contentText.add(input.get(startLogIndex).getText().get(1));
+ contentData.add(input.get(startLogIndex).getText().get(1));
+ } else {
+ contentText.add(Formatter.toTimeFormat(contentTemp.getTime()));
+ contentData.add(Formatter.toTimeFormat(contentTemp.getTime()));
+ }
+
contentText.add(Formatter.toTimeFormat(time));
contentData.add(Long.toString(time));
contentText.add(Integer.toString(contentTemp.getPid()));
TableInput tableInput = new TableInput();
tableInput.setText(contentText);
tableInput.setData(tableData);
+ if(!errMsg.contains("SUCCESS") ){//$NON-NLS-1$
+ tableInput.setFailed(true);
+ }
input.add(tableInput);
if (time >= rangeStartTime && time <= rangeEndTime) {
int[] outerMaxWeight = { 100, 0 };
private String[] columnNames = { FilePageLabels.FILE_API_LIST_VIEW_INDEX,
- FilePageLabels.FILE_API_LIST_VIEW_TIME,
+ FilePageLabels.FILE_API_LIST_VIEW_START_TIME,
+ FilePageLabels.FILE_API_LIST_VIEW_END_TIME,
FilePageLabels.FILE_API_LIST_VIEW_PID,
FilePageLabels.FILE_API_LIST_VIEW_API,
FilePageLabels.FILE_API_LIST_VIEW_PARAMETER,
FilePageLabels.FILE_API_LIST_VIEW_RETURN,
FilePageLabels.FILE_API_LIST_VIEW_ERRNO };
- private int[] columnSizes = { 35, 70,70, 120, 250, 0, 100, 100 };
-
- private int[] columnAlignment = { SWT.RIGHT, SWT.LEFT,SWT.LEFT, SWT.LEFT, SWT.LEFT,
- SWT.LEFT, SWT.LEFT, SWT.LEFT };
+ private int[] columnSizes = { 40, 70, 70, 70, 120, 250, 0, 100, 100 };
+ private int[] columnAlignment = { SWT.RIGHT, SWT.LEFT, SWT.LEFT, SWT.LEFT,
+ SWT.LEFT, SWT.LEFT, SWT.LEFT, SWT.LEFT, SWT.LEFT };
int[] sortTypes = { AnalyzerConstants.SORT_TYPE_NUM,
- AnalyzerConstants.SORT_TYPE_NUM,
+ AnalyzerConstants.SORT_TYPE_NUM, AnalyzerConstants.SORT_TYPE_NUM,
AnalyzerConstants.SORT_TYPE_NUM,
AnalyzerConstants.SORT_TYPE_STRING,
AnalyzerConstants.SORT_TYPE_STRING,
tableComp = new FileApiListTable(contents, SWT.NONE, SWT.MULTI
| SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
tableComp.setSortTypes(sortTypes);
- tableComp.setFailedAPITableIndex(7);
tableComp.setColumnAlignment(columnAlignment);
tableComp.setColumns(columnNames);
tableComp.setColumnSize(columnSizes);
contentText.add(contentTemp.getApiName());
contentData.add(contentTemp.getApiName());
- contentText.add(AnalyzerUtil.toHexdecimal(contentTemp.getObjectAddress()));
- contentData.add(AnalyzerUtil.toHexdecimal(contentTemp.getObjectAddress()));
+ contentText.add("0x"+AnalyzerUtil.toHexdecimal(contentTemp.getObjectAddress()));//$NON-NLS-1$
+ contentData.add("0x"+AnalyzerUtil.toHexdecimal(contentTemp.getObjectAddress()));//$NON-NLS-1$
contentText.add(contentTemp.getArgs());
contentData.add(contentTemp.getArgs());
TableInput tableInput = new TableInput();
tableInput.setText(contentText);
tableInput.setData(tableData);
+ if(!errMsg.contains("SUCCESS") ){//$NON-NLS-1$
+ tableInput.setFailed(true);
+ }
input.add(tableInput);
long time = contentTemp.getTime();
tableComp = new NetworkApiListTable(contents, SWT.NONE, SWT.MULTI
| SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
tableComp.setSortTypes(sortTypes);
- tableComp.setFailedAPITableIndex(11);
tableComp.setColumnAlignment(columnAlignment);
tableComp.setColumns(columnNames);
tableComp.setColumnSize(columnSizes);
}
public String getAddressName() {
- String[] parentKeyName = this.address.split(":");//$NON-NLS-1$
+ String[] parentKeyName = this.address.split(CommonConstants.COLON);
String keyname = null;
if (parentKeyName.length == 2) {
keyname = parentKeyName[0] + "\n:" + parentKeyName[1];//$NON-NLS-1$
if (isParent()) {
setConnectedParentStatus(event);
} else {
- setConnectedChildStatus(event);
+ setConnectedParentStatus(event);
}
break;
}
import org.tizen.dynamicanalyzer.ui.summary.warning.WarningCase;
import org.tizen.dynamicanalyzer.ui.summary.warning.WarningChecker;
import org.tizen.dynamicanalyzer.ui.summary.warning.WarningData;
+import org.tizen.dynamicanalyzer.ui.timeline.chart.CPUChart;
import org.tizen.dynamicanalyzer.ui.timeline.chart.NetworkIOChart;
import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
import org.tizen.dynamicanalyzer.widgets.chart.DAChart;
private DAChartBoardItem networkTrafficItem;
private DAChartBoardItem networkIOItem;
+ private DAChartBoardItem cpuItem;
private WarningChecker warningChecker = null;
private FailedChecker failedChecker = null;
-
+
public NetworkDataMaker(FailedChecker failedChecker,
LeakDetector leakDetector, WarningChecker warningChecker) {
this.failedChecker = failedChecker;
parentFDByFdHashMap.clear();
networkTrafficItem = null;
networkIOItem = null;
+ cpuItem = null;
NetworkTrafficChart.getInstance().clear();
}
int apiType = input.getFdApiType();
double time = input.getTime();
long errno = input.getErrno();
-
- if(input.getApiName().contains("accept")){
- System.out.println(input.getApiName()+" "+apiFD);
+
+ if (input.getApiName().contains("accept")) {
+ System.out.println(input.getApiName() + " " + apiFD);
}
-
-
+
int connectedType = 5;
String parentAddress = addressByFdHashMap.get(apiFD);
if (null != parentAddress) { // get Address by FD
} else if (connectedType == NetworkChartDataEvent.NETWORK_CHART_TRANSACTION_NAME) {
objectName = NetworkPageLabels.NETWORK_CHART_TRANSACTION_NAME;
}
-
- System.out.println("objectName : "+objectName+" sync.getFD() : "+sync.getFD());
- item = new DAChartBoardItem(parentItem, objectName + sync.getFD());
+
+ String fd = CommonConstants.EMPTY;
+ if(sync.getEvent().getApiName().contains(CommonConstants.DOUBLE_COLON)){
+ fd = "0x"+AnalyzerUtil.toHexdecimal(Long.parseLong(sync.getFD()));//$NON-NLS-1$
+ }else{
+ fd = sync.getFD();
+ }
+
+
+
+ item = new DAChartBoardItem(parentItem, objectName + fd);
chart = item.getChart();
initNetworkChart(chart, false);
return true;
}
- private boolean createNetworkTrafficBoardItem() {
+ private boolean createTransmissionSizeBoardItem() {
if (null == networkTrafficItem) {
if (null == board) {
return false;
DAChart chart;
networkTrafficItem = NetworkTrafficChart.getInstance()
.createBoardItem(board);
-
+
chart = networkTrafficItem.getChart();
initNetworkChart(chart, true);
}
return true;
}
-
+
private boolean createNetworkIOBoardItem() {
if (null == networkIOItem) {
if (null == board) {
return false;
}
DAChart chart;
- networkIOItem = NetworkIOChart.getInstance()
- .createBoardItem(board);
+ networkIOItem = NetworkIOChart.getInstance().createBoardItem(board);
chart = networkIOItem.getChart();
-
-
+
DAChartPlot plot = chart.getPlot();
DAChartPlotTooltip tooltip = new DAChartPlotTooltip(-1);
tooltip.setFont(FontResources.CHART_TOOLTIP_FONT);
DAPopupMenuItem startItem = new DAPopupMenuItem(popupMenu,
DAPopupMenuItem.NONE);
startItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_START);
- startItem.addListener(new PopupStartMenuItemClickListener(startItem,
- board));
+ startItem.addListener(new PopupStartMenuItemClickListener(
+ startItem, board));
DAPopupMenuItem endItem = new DAPopupMenuItem(popupMenu,
DAPopupMenuItem.NONE);
endItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_END);
- endItem.addListener(new PopupEndMenuItemClickListener(endItem, board));
+ endItem.addListener(new PopupEndMenuItemClickListener(endItem,
+ board));
DAPopupMenuItem fromSelectionItem = new DAPopupMenuItem(popupMenu,
DAPopupMenuItem.NONE);
popupMenu, board.getTimeline());
chart.addMouseListener(timelineChartMouseEventListener);
chart.addMouseMoveListener(timelineChartMouseEventListener);
- chart.addMouseTrackListener(new TimelineChartMouseTrackAdapter(board
- .getTimeline()));
+ chart.addMouseTrackListener(new TimelineChartMouseTrackAdapter(
+ board.getTimeline()));
plot.setMarkers(board.getMarkers());
-
-
-
+ }
+ return true;
+ }
+ private boolean createCPUBoardItem() {
+ if (null == cpuItem) {
+ if (null == board) {
+ return false;
+ }
+ DAChart chart;
+ cpuItem = CPUChart.getInstance().createBoardItem(board);
+ chart = cpuItem.getChart();
+
+ DAChartPlot plot = chart.getPlot();
+ DAChartPlotTooltip tooltip = new DAChartPlotTooltip(-1);
+ tooltip.setFont(FontResources.CHART_TOOLTIP_FONT);
+ plot.setTooltip(tooltip);
+
+ DAPopupMenu popupMenu = new DAPopupMenu(chart);
+ popupMenu.setFont(FontResources.CONTEXT_MENU_ITEM_FONT);
+ DAPopupMenuItem startItem = new DAPopupMenuItem(popupMenu,
+ DAPopupMenuItem.NONE);
+ startItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_START);
+ startItem.addListener(new PopupStartMenuItemClickListener(
+ startItem, board));
+
+ DAPopupMenuItem endItem = new DAPopupMenuItem(popupMenu,
+ DAPopupMenuItem.NONE);
+ endItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_END);
+ endItem.addListener(new PopupEndMenuItemClickListener(endItem,
+ board));
+
+ DAPopupMenuItem fromSelectionItem = new DAPopupMenuItem(popupMenu,
+ DAPopupMenuItem.NONE);
+ fromSelectionItem
+ .setText(TimelineChartLabels.RANGE_CONTEXT_SET_FROM_SELECTION);
+ fromSelectionItem
+ .addListener(new PopupFromSelectionMenuItemClickListener(
+ fromSelectionItem, board));
+
+ DAPopupMenuItem analysisItem = new DAPopupMenuItem(popupMenu,
+ DAPopupMenuItem.NONE);
+ analysisItem.setText(TimelineChartLabels.RANGE_CONTEXT_ANALYSIS);
+ analysisItem.addListener(new PopupAnalysisMenuItemClickListener());
+
+ DAPopupMenuItem clearItem = new DAPopupMenuItem(popupMenu,
+ DAPopupMenuItem.NONE);
+ clearItem.setText(TimelineChartLabels.RANGE_CONTEXT_CLEAR);
+ clearItem.addListener(new PopupClearMenuItemClickListener());
+
+ TimelineChartMouseEventListener timelineChartMouseEventListener = new TimelineChartMouseEventListener(
+ popupMenu, board.getTimeline());
+ chart.addMouseListener(timelineChartMouseEventListener);
+ chart.addMouseMoveListener(timelineChartMouseEventListener);
+ chart.addMouseTrackListener(new TimelineChartMouseTrackAdapter(
+ board.getTimeline()));
+ plot.setMarkers(board.getMarkers());
}
return true;
}
public void checkUpdate() {
+ createCPUBoardItem();
createNetworkIOBoardItem();
- createNetworkTrafficBoardItem();
+ createTransmissionSizeBoardItem();
if (!AnalyzerManager.isRunning()) {
int size = unConnectedDataList.size();
TableInput tableInput = new TableInput();
tableInput.setText(contentText);
tableInput.setData(tableData);
+ if(!errMsg.contains("SUCCESS") ){//$NON-NLS-1$
+ tableInput.setFailed(true);
+ }
input.add(tableInput);
long time = contentTemp.getTime();
tableComp.setTableName("Thread API List");
tableComp.setSortTypes(sortTypes);
// tableComp.setSourceColumns(sourceColumns);
- tableComp.setFailedAPITableIndex(7);
tableComp.setColumnAlignment(columnAlignment);
tableComp.setColumns(columnNames);
tableComp.setColumnSize(columnSizes);
protected Point mousePoint = new Point(0, 0);
- private int failedAPITableColumIndex = -1;
-
protected RangeDataManager rangeDataManager = RangeDataManager
.getInstance();
}
if (isTree == false) {
- int columIndex = getFailedAPITableIndex();
- if (columIndex > 0 && columIndex < text.size()) {
- if (!text.get(columIndex).contains("SUCCESS")) {
- gridItem.setBackground(ColorResources.TABLE_CONTENTS_FAILED_BACGOUND_COLOR);
- gridItem.setForeground(ColorResources.TABLE_CONTENTS_FAILED_FONT_COLOR);
- gridItem.setImage(0,
- ImageResources.FAILED_API_ICON_TABLE);
- }
+ if (input.get(i).isFailed()) {
+ gridItem.setBackground(ColorResources.TABLE_CONTENTS_FAILED_BACGOUND_COLOR);
+ gridItem.setForeground(ColorResources.TABLE_CONTENTS_FAILED_FONT_COLOR);
+ gridItem.setImage(0, ImageResources.FAILED_API_ICON_TABLE);
}
}
public boolean isAutoColumnPackEnabled() {
return autoColumnPack;
}
-
- public int getFailedAPITableIndex() {
- return failedAPITableColumIndex;
- }
-
- public void setFailedAPITableIndex(int failedTableIndex) {
- this.failedAPITableColumIndex = failedTableIndex;
- }
}