[Title] modified core charts
authorkamuru <kamuru@kamuru-Samsung-Desktop-System.(none)>
Fri, 10 Jan 2014 08:03:14 +0000 (17:03 +0900)
committerkamuru <kamuru@kamuru-Samsung-Desktop-System.(none)>
Fri, 10 Jan 2014 08:03:14 +0000 (17:03 +0900)
[Desc.] Modified core charts to can respond to changes in the number of cores
[Issue]

org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.properties
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LifeCycleLogData.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/LifecycleLogParser.java

index 3a2e694..adf9c93 100644 (file)
@@ -35,10 +35,7 @@ public class TimelineChartLabels extends NLS {
        public static String CPU_CHART_SERIES_NAME_TOTAL_LOAD;
        public static String CPU_CHART_TITLE;
        
-       public static String CPU_CORE_CHART_SERIES_NAME_CORE0;
-       public static String CPU_CORE_CHART_SERIES_NAME_CORE1;
-       public static String CPU_CORE_CHART_SERIES_NAME_CORE2;
-       public static String CPU_CORE_CHART_SERIES_NAME_CORE3;
+       public static String CPU_CORE_CHART_SERIES_NAME_CORE;
        public static String CPU_CORE_CHART_TITLE;
        
        public static String CPU_FREQUENCY_CHART_FREQUENCY;
index cf66a18..ff26344 100644 (file)
@@ -10,10 +10,7 @@ CPU_CHART_SERIES_NAME_APP_LOAD=Application
 CPU_CHART_SERIES_NAME_TOTAL_LOAD=Total CPU load
 CPU_CHART_TITLE=CPU
 
-CPU_CORE_CHART_SERIES_NAME_CORE0=Core 0
-CPU_CORE_CHART_SERIES_NAME_CORE1=Core 1
-CPU_CORE_CHART_SERIES_NAME_CORE2=Core 2
-CPU_CORE_CHART_SERIES_NAME_CORE3=Core 3
+CPU_CORE_CHART_SERIES_NAME_CORE=Core
 CPU_CORE_CHART_TITLE=CPU core
 
 CPU_FREQUENCY_CHART_FREQUENCY=CPU frequency
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LifeCycleLogData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LifeCycleLogData.java
new file mode 100644 (file)
index 0000000..8ac4f8b
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ *  Dynamic Analyzer
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: 
+ * Jooyoul Lee <jy.exe.lee@samsung.com>
+ * Juyoung Kim <j0.kim@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * Contributors:
+ * - S-Core Co., Ltd
+ * 
+ */
+package org.tizen.dynamicanalyzer.swap.model.data;
+
+public class LifeCycleLogData extends ProbeCommonData {
+
+       public LifeCycleLogData() {
+       }
+}
index e58bb51..349c84a 100644 (file)
@@ -155,7 +155,7 @@ public class LogDataFactory {
                        break;
                case MSG_PROBE_LIFECYCLE:
                        // life cycle
-                       output = new LifeCycleData();
+                       output = new LifeCycleLogData();
                        break;
                case MSG_PROBE_SCREENSHOT:
                        // screenshot
@@ -236,7 +236,7 @@ public class LogDataFactory {
                        break;
                case MSG_PROBE_LIFECYCLE:
                        // life cycle
-                       output = new LifeCycleData();
+                       output = new LifeCycleLogData();
                        break;
                case MSG_PROBE_SCREENSHOT:
                        // screenshot
index b4e4491..bba3090 100644 (file)
@@ -29,6 +29,7 @@ package org.tizen.dynamicanalyzer.ui.timeline.chart;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.eclipse.swt.graphics.Color;
 import org.tizen.dynamicanalyzer.common.CommonConstants;
 import org.tizen.dynamicanalyzer.communicator.DACommunicator;
 import org.tizen.dynamicanalyzer.nl.TimelineChartLabels;
@@ -49,11 +50,14 @@ import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoardItem;
 
 public class CPUCoreChart extends TimelineChart {
        private static CPUCoreChart instance = null;
-       private static int DEFAULT_CORE_SIZE = 4;
-       
-       private int coreSize = TimelineConstants.NOT_INITED;
 
+       private int coreSize = TimelineConstants.NOT_INITED;
        private List<DAChartSeries> coreChartSeriesList = new ArrayList<DAChartSeries>();
+       private Color[] coreChartSeriesColors = new Color[] {
+                       ColorResources.SERIES_COLOR_CPUCORE_CORE0,
+                       ColorResources.SERIES_COLOR_CPUCORE_CORE1,
+                       ColorResources.SERIES_COLOR_CPUCORE_CORE2,
+                       ColorResources.SERIES_COLOR_CPUCORE_CORE3 };
 
        public static CPUCoreChart getInstance() {
                if (null == instance) {
@@ -68,63 +72,41 @@ public class CPUCoreChart extends TimelineChart {
                chartName = TimelineChartLabels.CPU_CORE_CHART_TITLE;
                chartIcon = ImageResources.CHART_CPU_CORE;
                addIcon = ImageResources.ADD_CHART_CPU_CORE;
-
-               /* core 0 */
-               coreChartSeriesList.add(new DAChartSeries(
-                               TimelineChartLabels.CPU_CORE_CHART_SERIES_NAME_CORE0,
-                               DAChartSeries.SERIES_STYLE_LINE,
-                               ColorResources.SERIES_COLOR_CPUCORE_CORE0));
-               /* core 1 */
-               coreChartSeriesList.add(new DAChartSeries(
-                               TimelineChartLabels.CPU_CORE_CHART_SERIES_NAME_CORE1,
-                               DAChartSeries.SERIES_STYLE_LINE,
-                               ColorResources.SERIES_COLOR_CPUCORE_CORE1));
-               /* core 2 */
-               coreChartSeriesList.add(new DAChartSeries(
-                               TimelineChartLabels.CPU_CORE_CHART_SERIES_NAME_CORE2,
-                               DAChartSeries.SERIES_STYLE_LINE,
-                               ColorResources.SERIES_COLOR_CPUCORE_CORE2));
-               /* core 3 */
-               coreChartSeriesList.add(new DAChartSeries(
-                               TimelineChartLabels.CPU_CORE_CHART_SERIES_NAME_CORE3,
-                               DAChartSeries.SERIES_STYLE_LINE,
-                               ColorResources.SERIES_COLOR_CPUCORE_CORE3));
        }
 
        @Override
        public DAChartBoardItem createBoardItem(DAChartBoard board) {
                DAChartBoardItem item = super.createBoardItem(board);
 
-               if (null == coreChartSeriesList
-                               || coreChartSeriesList.size() != DEFAULT_CORE_SIZE) {
-                       return null;
-               }
-
-               for (int i = 0; i < DEFAULT_CORE_SIZE; i++) {
-                       chart.addSeries(coreChartSeriesList.get(i));
-               }
-
                chart.getPlot().setAutoHeightRange(AutoRangeType.MANUAL);
                chart.getPlot().setAxisRangeY(0, 100);
                chart.getPlot().setAxisUnit("%");
                chart.getPlot().setShowAxis(true);
-               
+
                return item;
        }
 
        private void parseLog(SystemData logData) {
                try {
-                       double time = logData.getTime() / TimelineConstants.MEGA_DOUBLE;
-                       String[] cpuRates = logData.getCpuLoad().split(
-                                       CommonConstants.COMMA);
-                       double value = 0;
                        if (coreSize == TimelineConstants.NOT_INITED) {
                                coreSize = DACommunicator.getSelectedDevice().getTargetInfo()
                                                .getCpuCount();
+                               for (int i = 0; i < coreSize; i++) {
+                                       DAChartSeries chartSeries = new DAChartSeries(
+                                                       TimelineChartLabels.CPU_CORE_CHART_SERIES_NAME_CORE
+                                                       + i, DAChartSeries.SERIES_STYLE_LINE,
+                                                       coreChartSeriesColors[i % 4]);
+                                       chart.addSeries(chartSeries);
+                                       coreChartSeriesList.add(chartSeries);
+                               }
                        }
+                       
+                       double time = logData.getTime() / TimelineConstants.MEGA_DOUBLE;
+                       String[] cpuRates = logData.getCpuLoad().split(
+                                       CommonConstants.COMMA);
 
                        for (int i = 0; i < coreSize; i++) {
-                               value = Double.parseDouble(cpuRates[i]);
+                               double value = Double.parseDouble(cpuRates[i]);
                                coreChartSeriesList.get(i).addSeriesItem(
                                                new DAChartSeriesItem(time, value, Formatter
                                                                .toPercentageFormat(value)));
@@ -137,10 +119,10 @@ public class CPUCoreChart extends TimelineChart {
        @Override
        public void parseLogPackage(LogPackage logPack) {
                Logs logs = logPack.getLogs(probeType);
-               if(logs == null) {
+               if (logs == null) {
                        return;
                }
-               
+
                List<LogData> logDataList = logs.getRawLogs();
 
                for (LogData logData : logDataList) {
@@ -152,5 +134,6 @@ public class CPUCoreChart extends TimelineChart {
        public void clear() {
                super.clear();
                coreSize = TimelineConstants.NOT_INITED;
+               coreChartSeriesList.clear();
        }
 }
index c66a2ef..46db1ae 100644 (file)
 
 package org.tizen.dynamicanalyzer.ui.timeline.chart;
 
+import java.util.ArrayList;
 import java.util.List;
 
+import org.eclipse.swt.graphics.Color;
 import org.tizen.dynamicanalyzer.common.CommonConstants;
+import org.tizen.dynamicanalyzer.communicator.DACommunicator;
 import org.tizen.dynamicanalyzer.nl.TimelineChartLabels;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.resources.ImageResources;
@@ -46,7 +49,14 @@ import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoardItem;
 
 public class CPUFrequencyChart extends TimelineChart {
        private static CPUFrequencyChart instance = null;
-       private DAChartSeries frequencySeries;
+
+       private int coreSize = TimelineConstants.NOT_INITED;
+       private List<DAChartSeries> coreFrequencyChartSeriesList = new ArrayList<DAChartSeries>();
+       private Color[] coreChartSeriesColors = new Color[] {
+                       ColorResources.SERIES_COLOR_CPUCORE_CORE0,
+                       ColorResources.SERIES_COLOR_CPUCORE_CORE1,
+                       ColorResources.SERIES_COLOR_CPUCORE_CORE2,
+                       ColorResources.SERIES_COLOR_CPUCORE_CORE3 };
 
        public static CPUFrequencyChart getInstance() {
                if (instance == null) {
@@ -62,19 +72,12 @@ public class CPUFrequencyChart extends TimelineChart {
                chartName = TimelineChartLabels.CPU_FREQUENCY_CHART_TITLE;
                chartIcon = ImageResources.CHART_CPU_FREQUENCY;
                addIcon = ImageResources.ADD_CHART_CPU_FREQUENCY;
-
-               frequencySeries = new DAChartSeries(
-                               TimelineChartLabels.CPU_FREQUENCY_CHART_FREQUENCY,
-                               DAChartSeries.SERIES_STYLE_LINE,
-                               ColorResources.SERIES_COLOR_CPU_FREQ);
        }
 
        @Override
        public DAChartBoardItem createBoardItem(DAChartBoard board) {
                DAChartBoardItem item = super.createBoardItem(board);
 
-               chart.addSeries(frequencySeries);
-               
                chart.getPlot().setAxisUnit("Hz");
                chart.getPlot().setShowAxis(true);
 
@@ -96,15 +99,36 @@ public class CPUFrequencyChart extends TimelineChart {
 
        private void parseLog(SystemData logData) {
                try {
+                       if (coreSize == TimelineConstants.NOT_INITED) {
+                               coreSize = DACommunicator.getSelectedDevice().getTargetInfo()
+                                               .getCpuCount();
+                               for (int i = 0; i < coreSize; i++) {
+                                       DAChartSeries chartSeries = new DAChartSeries(
+                                                       TimelineChartLabels.CPU_CORE_CHART_SERIES_NAME_CORE
+                                                       + i, DAChartSeries.SERIES_STYLE_LINE,
+                                                       coreChartSeriesColors[i % 4]);
+                                       chart.addSeries(chartSeries);
+                                       coreFrequencyChartSeriesList.add(chartSeries);
+                               }
+                       }
+                       
                        double time = logData.getTime() / TimelineConstants.MEGA_DOUBLE;
                        String[] cpuFreqs = logData.getCpuFrequency().split(
                                        CommonConstants.COMMA);
 
-                       double freq0 = Double.parseDouble(cpuFreqs[0]) * 1000.0;
-                       frequencySeries.addSeriesItem(new DAChartSeriesItem(time, freq0,
-                                       Formatter.toHzFormat(freq0)));
+                       for (int i = 0; i < coreSize; i++) {
+                               double freq = Double.parseDouble(cpuFreqs[i]) * 1000.0;
+                               coreFrequencyChartSeriesList.get(i).addSeriesItem(
+                                               new DAChartSeriesItem(time, freq, Formatter
+                                                               .toHzFormat(freq)));
+                       }
                } catch (NumberFormatException ne) {
                        ne.printStackTrace();
                }
+       }@Override
+       public void clear() {
+               super.clear();
+               coreSize = TimelineConstants.NOT_INITED;
+               coreFrequencyChartSeriesList.clear();
        }
 }
index 28ee145..800fe4c 100644 (file)
@@ -156,23 +156,19 @@ public class UIEventChart extends TimelineChart {
        private void parseLog(UIEventData logData) {
                try {
                        double time = logData.getTime() / TimelineConstants.MEGA_DOUBLE;
-                       int detailType;
                        int eventType = logData.getEventType();
-                       String info;
                        switch (eventType) {
                        case TYPE_TOUCH:
-                               detailType = logData.getDetailType();
-                               info = EnumTouchStatus.values()[detailType].getStatus()
-                                               + NEW_LINE + "X : "//$NON-NLS-1$
+                               String info = EnumTouchStatus.values()[logData.getDetailType()]
+                                               .getStatus() + NEW_LINE + "X : "//$NON-NLS-1$
                                                + logData.getX() + " Y : "//$NON-NLS-1$
                                                + logData.getY();
                                touchEventSeries.addSeriesItem(new DAChartSeriesItem(time, 0,
                                                info));
                                break;
                        case TYPE_GESTURE:
-                               detailType = logData.getDetailType();
                                gestureEventSeries.addSeriesItem(new DAChartSeriesItem(time, 0,
-                                               getGestureInfo(detailType, logData)));
+                                               getGestureInfo(logData.getDetailType(), logData)));
                                break;
                        case TYPE_ORIENTATION:
                                int status = Integer.parseInt(logData.getInfo1());
@@ -192,14 +188,14 @@ public class UIEventChart extends TimelineChart {
        }
 
        private enum EnumTouchStatus {
-               PRESSED(TimelineChartLabels.UIEVENT_TOUCH_LONG_PRESSED), LONG_PRESSED(
-                               TimelineChartLabels.UIEVENT_TOUCH_LONG_PRESSED), RELEASED(
-                               TimelineChartLabels.UIEVENT_TOUCH_RELEASED), MOVED(
-                               TimelineChartLabels.UIEVENT_TOUCH_MOVED), DOUBLE_PRESSED(
-                               TimelineChartLabels.UIEVENT_TOUCH_DOUBLE_PRESSED), FOCUS_IN(
-                               TimelineChartLabels.UIEVENT_TOUCH_FOCUS_IN), FOCUS_OUT(
-                               TimelineChartLabels.UIEVENT_TOUCH_FOCUS_OUT), CANCELED(
-                               TimelineChartLabels.UIEVENT_TOUCH_CANCELED);
+               PRESSED(TimelineChartLabels.UIEVENT_TOUCH_LONG_PRESSED),
+               LONG_PRESSED(TimelineChartLabels.UIEVENT_TOUCH_LONG_PRESSED), 
+               RELEASED(TimelineChartLabels.UIEVENT_TOUCH_RELEASED), 
+               MOVED(TimelineChartLabels.UIEVENT_TOUCH_MOVED), 
+               DOUBLE_PRESSED(TimelineChartLabels.UIEVENT_TOUCH_DOUBLE_PRESSED), 
+               FOCUS_IN(TimelineChartLabels.UIEVENT_TOUCH_FOCUS_IN), 
+               FOCUS_OUT(TimelineChartLabels.UIEVENT_TOUCH_FOCUS_OUT), 
+               CANCELED(TimelineChartLabels.UIEVENT_TOUCH_CANCELED);
 
                private String status;
 
index 6274275..1bc3ff7 100644 (file)
@@ -34,7 +34,7 @@ import org.tizen.dynamicanalyzer.nl.TimelineChartLabels;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
 import org.tizen.dynamicanalyzer.swap.logparser.Logs;
-import org.tizen.dynamicanalyzer.swap.model.data.LifeCycleData;
+import org.tizen.dynamicanalyzer.swap.model.data.LifeCycleLogData;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
 import org.tizen.dynamicanalyzer.widgets.helper.ColorResources;
@@ -69,15 +69,15 @@ public class LifecycleLogParser {
                        return;
                }
                
-               List<LogData> logList = logs.getRawLogs();
+               List<LogData> logDataList = logs.getRawLogs();
 
-               for (LogData log : logList) {
-                       parseLog((LifeCycleData) log);
+               for (LogData logData : logDataList) {
+                       parseLog((LifeCycleLogData) logData);
                }
        }
 
-       private void parseLog(LifeCycleData log) {
-               int apiId= log.getApiId();
+       private void parseLog(LifeCycleLogData logData) {
+               int apiId= logData.getApiId();
                Color colorTop;
                Color colorBottom;
                String text;
@@ -103,7 +103,7 @@ public class LifecycleLogParser {
                        return;
                }
 
-               double startTime = Double.parseDouble(Long.toString(log.getTime()))
+               double startTime = Double.parseDouble(Long.toString(logData.getTime()))
                                / TimelineConstants.MEGA_DOUBLE;
 
                LifecycleData lifecycleData = new LifecycleData(startTime, colorTop,