[Title] fix network page, fix table widget
authorHyunjong,park <phjwithyou.park@samsung.com>
Fri, 1 Nov 2013 02:34:10 +0000 (11:34 +0900)
committerHyunjong,park <phjwithyou.park@samsung.com>
Fri, 1 Nov 2013 02:34:10 +0000 (11:34 +0900)
[Desc.] change network chart name, add cpu chart in network page, change detect faild api in table
[Issue] -

12 files changed:
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/FilePageLabels.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/FilePageLabels.properties
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/NetworkPageLabels.properties
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkDataMaker.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadAPIListTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadAPIListView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableComposite.java

index cb610d7..bc9f8dd 100644 (file)
@@ -34,7 +34,8 @@ public class FilePageLabels extends NLS {
 
        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;
index cf8f161..a96488d 100644 (file)
@@ -1,6 +1,7 @@
 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
index b454e74..48c287d 100644 (file)
@@ -36,7 +36,7 @@ NETWORK_CHART_TOOLTIP_CONNECTED = CONNECTED
 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
index 3529740..d6f0761 100644 (file)
@@ -28,6 +28,7 @@
 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;
@@ -37,6 +38,7 @@ import org.eclipse.swt.widgets.Composite;
 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;
@@ -109,18 +111,46 @@ public class FileApiListTable extends DAApiListTableComposite {
 
                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()));
@@ -150,6 +180,9 @@ public class FileApiListTable extends DAApiListTableComposite {
                        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) {
index 02eff7c..84de517 100644 (file)
@@ -55,7 +55,8 @@ public class FileApiListView extends DAView {
        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,
@@ -63,13 +64,12 @@ public class FileApiListView extends DAView {
                        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,
@@ -93,7 +93,6 @@ public class FileApiListView extends DAView {
                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);
index 79c66b0..0d41b43 100644 (file)
@@ -199,8 +199,8 @@ public class NetworkApiListTable extends DAApiListTableComposite {
                        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());
@@ -243,6 +243,9 @@ public class NetworkApiListTable extends DAApiListTableComposite {
                        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();
index 4580bf6..0acd479 100644 (file)
@@ -103,7 +103,6 @@ public class NetworkApiListView extends DAView {
                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);
index 7e98371..c5beaa0 100644 (file)
@@ -231,7 +231,7 @@ public class NetworkChartData {
        }
 
        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$
@@ -391,7 +391,7 @@ public class NetworkChartData {
                        if (isParent()) {
                                setConnectedParentStatus(event);
                        } else {
-                               setConnectedChildStatus(event);
+                               setConnectedParentStatus(event);
                        }
                        break;
                }
index 56fc95f..52bdbce 100644 (file)
@@ -55,6 +55,7 @@ import org.tizen.dynamicanalyzer.ui.summary.leaks.LeakDetector;
 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;
@@ -81,10 +82,11 @@ public class NetworkDataMaker {
 
        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;
@@ -103,6 +105,7 @@ public class NetworkDataMaker {
                parentFDByFdHashMap.clear();
                networkTrafficItem = null;
                networkIOItem = null;
+               cpuItem = null;
                NetworkTrafficChart.getInstance().clear();
 
        }
@@ -147,12 +150,11 @@ public class NetworkDataMaker {
                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
@@ -485,9 +487,17 @@ public class NetworkDataMaker {
                        } 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);
@@ -518,7 +528,7 @@ public class NetworkDataMaker {
                return true;
        }
 
-       private boolean createNetworkTrafficBoardItem() {
+       private boolean createTransmissionSizeBoardItem() {
                if (null == networkTrafficItem) {
                        if (null == board) {
                                return false;
@@ -526,24 +536,22 @@ public class NetworkDataMaker {
                        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);
@@ -554,13 +562,14 @@ public class NetworkDataMaker {
                        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);
@@ -584,13 +593,66 @@ public class NetworkDataMaker {
                                        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;
        }
@@ -613,8 +675,9 @@ public class NetworkDataMaker {
 
        public void checkUpdate() {
 
+               createCPUBoardItem();
                createNetworkIOBoardItem();
-               createNetworkTrafficBoardItem();
+               createTransmissionSizeBoardItem();
 
                if (!AnalyzerManager.isRunning()) {
                        int size = unConnectedDataList.size();
index 47c65e6..728e5c3 100644 (file)
@@ -154,6 +154,9 @@ public class ThreadAPIListTable extends DAApiListTableComposite {
                        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();
index 609ce88..ffea513 100644 (file)
@@ -98,7 +98,6 @@ public class ThreadAPIListView extends DAView {
                tableComp.setTableName("Thread API List");
                tableComp.setSortTypes(sortTypes);
 //             tableComp.setSourceColumns(sourceColumns);
-               tableComp.setFailedAPITableIndex(7);
                tableComp.setColumnAlignment(columnAlignment);
                tableComp.setColumns(columnNames);
                tableComp.setColumnSize(columnSizes);
index 1d0719c..626004e 100644 (file)
@@ -101,8 +101,6 @@ public abstract class DATableComposite extends Composite {
 
        protected Point mousePoint = new Point(0, 0);
 
-       private int failedAPITableColumIndex = -1;
-
        protected RangeDataManager rangeDataManager = RangeDataManager
                        .getInstance();
 
@@ -387,14 +385,10 @@ public abstract class DATableComposite extends Composite {
                        }
 
                        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);
                                }
                        }
                        
@@ -668,12 +662,4 @@ public abstract class DATableComposite extends Composite {
        public boolean isAutoColumnPackEnabled() {
                return autoColumnPack;
        }
-
-       public int getFailedAPITableIndex() {
-               return failedAPITableColumIndex;
-       }
-
-       public void setFailedAPITableIndex(int failedTableIndex) {
-               this.failedAPITableColumIndex = failedTableIndex;
-       }
 }