THREAD ANALYSIS: show thread load value 55/27855/1
authorwoojin <woojin2.jung@samsung.com>
Sat, 20 Sep 2014 00:24:06 +0000 (09:24 +0900)
committerwoojin <woojin2.jung@samsung.com>
Sat, 20 Sep 2014 00:24:06 +0000 (09:24 +0900)
show thread load value
- modify thread load parsing routine to handle newest SystemLog format

Change-Id: Iea5f3cf57d6001284c255ddc9ec8cb24757dbc79
Signed-off-by: woojin <woojin2.jung@samsung.com>
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataManager.java

index 9a8be3a..56d7c8b 100644 (file)
@@ -45,6 +45,7 @@ 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.LogData;
+import org.tizen.dynamicanalyzer.swap.model.data.ProcessProfileData;
 import org.tizen.dynamicanalyzer.swap.model.data.SyncData;
 import org.tizen.dynamicanalyzer.swap.model.data.SystemData;
 import org.tizen.dynamicanalyzer.swap.model.data.ThreadData;
@@ -379,6 +380,37 @@ public class ThreadPageThreadDataManager {
                String tid;
                int load;
 
+               ProcessProfileData [] processDataList = sysLog.getProcessProfileDataList();
+               
+               for (int i = 0; i < processDataList.length; i++) {
+                       loads = processDataList[i].getThreadLoad();
+                       String[] temp = loads.split(",");
+                       int tempSize = temp.length;
+                       double time;
+                       for (int j = 0; j + 1 < tempSize; j += 2) {
+                               try {
+                                       tid = temp[j];
+                               } catch (NumberFormatException nfe) {
+                                       Logger.error("parseLoad - tid parsing");
+                                       break;
+                               }
+                               // if (null == findParentData(tid)) {
+                               // continue;
+                               // }
+                               load = (int) (Double.parseDouble(temp[j + 1]));
+                               time = Double.parseDouble(Long.toString(input.getTime()))
+                                               / TimelineConstants.MEGA_DOUBLE;
+                               ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
+                                               ThreadPageThreadDataEvent.TYPE_LOAD, load, -1, time, tid,
+                                               String.valueOf(load)
+                                                               + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT, -1,
+                                               null);
+                               pushEvent(event);
+       
+                       }
+               }
+               hasUpdate = true;               
+
 //             loads = sysLog.getThreadLoad(); // TODO SystemData interface changed.
 //             // loads = input.get(LogCenterConstants.DEVICE_THREAD_LOAD_INDEX);
 //             String[] temp = loads.split(",");
@@ -422,6 +454,36 @@ public class ThreadPageThreadDataManager {
                int load;
                for (int i = 0; i < size; i++) {
                        input = (SystemData) inputs.get(i);
+                       ProcessProfileData [] processDataList = input.getProcessProfileDataList();
+                       
+                       for (int j = 0; j < processDataList.length; j++) {
+                               loads = processDataList[j].getThreadLoad();
+                               String[] temp = loads.split(",");
+                               int tempSize = temp.length;
+                               double time;
+                               for (int k = 0; k + 1 < tempSize; k += 2) {
+                                       try {
+                                               tid = temp[k];
+                                       } catch (NumberFormatException nfe) {
+                                               Logger.error("parseLoad - tid parsing");
+                                               break;
+                                       }
+                                       // if (null == findParentData(tid)) {
+                                       // continue;
+                                       // }
+                                       load = (int) (Double.parseDouble(temp[k + 1]));
+                                       time = Double.parseDouble(Long.toString(input.getTime()))
+                                                       / TimelineConstants.MEGA_DOUBLE;
+                                       ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
+                                                       ThreadPageThreadDataEvent.TYPE_LOAD, load, -1, time, tid,
+                                                       String.valueOf(load)
+                                                                       + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT, -1,
+                                                       null);
+                                       pushEvent(event);
+               
+                               }
+                       }                       
+
 //                     loads = input.getThreadLoad();  // TODO SystemData interface changed.
 //                     String[] temp = loads.split(",");
 //                     int tempSize = temp.length;