[Title] return type changed
authorjooyoul_lee <jy.exe.lee@samsung.com>
Fri, 15 Nov 2013 04:49:35 +0000 (13:49 +0900)
committerjooyoul_lee <jy.exe.lee@samsung.com>
Fri, 15 Nov 2013 04:49:35 +0000 (13:49 +0900)
[Desc.]
[Issue]

org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ContextSwitchData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataUtils.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProbeCommonData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProfileData.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/CommonColumns.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/CustomLogParser.java

index 6e3ad63..fee94f8 100755 (executable)
@@ -753,9 +753,10 @@ public class Communicator30 extends BaseCommunicator {
                int start = symbol.indexOf(CommonConstants.OPEN_BRACKET);
                int end = symbol.indexOf(CommonConstants.CLOSE_BRACKET);
 
-               byte[] emptyRet = new byte[2];
+               byte[] emptyRet = new byte[3];
                emptyRet[0] = 'p';
                emptyRet[1] = 0;
+               emptyRet[2] = 'n';
                if (start < 0 || end < 0) {
                        return emptyRet;
                }
@@ -776,6 +777,9 @@ public class Communicator30 extends BaseCommunicator {
                        ret[i + 1] = (byte) getArgType(arg);
                }
 
+               byte[] test = new byte[1];
+               test[0] = 'n';
+               ret = ByteUtils.getByte(ret, test);
                return ret;
        }
 
index 4358e22..cdfc88d 100644 (file)
@@ -61,6 +61,7 @@ public class ContextSwitchData extends LogData {
                tid = ByteUtils.toInt(data, index);
                index += INT_SIZE;
                cpuNum = ByteUtils.toInt(data, index);
+               index += INT_SIZE;
        }
 
        public long getPcAddr() {
index 346c292..b3b456e 100644 (file)
@@ -110,6 +110,69 @@ public class LogDataUtils {
                return args;
        }
 
+       public static ArgsInfo parseReturn(byte[] payload, int index) {
+               ArgsInfo args = new ArgsInfo();
+               StringBuffer buffer = new StringBuffer();
+                       char c = (char) payload[index];
+                       index += 1;
+                       switch (c) {
+                       case 'c':
+                               buffer.append((payload[index]));
+                               index += 1;
+                               break;
+                       case 'd':
+                               int iValue = ByteUtils.toInt(payload, index);
+                               buffer.append(iValue);
+                               index += Integer.SIZE / Byte.SIZE;
+                               break;
+                       case 'x':
+                               long lValue = ByteUtils.toLong(payload, index);
+                               buffer.append(lValue);
+                               index += LONG_SIZE;
+                               break;
+                       case 'p':
+                               long pValue = ByteUtils.toLong(payload, index);
+                               buffer.append(AnalyzerUtil.toHexdecimal(pValue));
+                               index += LONG_SIZE;
+                               break;
+                       case 'f':
+                               float fValue = ByteUtils.toFloat(payload, index);
+                               buffer.append(fValue);
+                               index += FLOAT_SIZE;
+                               break;
+                       case 'w':
+                               double dValue = ByteUtils.toDouble(payload, index);
+                               buffer.append(dValue);
+                               index += DOUBLE_SIZE;
+                               break;
+                       case 'b':
+                               byte b = payload[index++];
+                               if (b == 0) {
+                                       buffer.append("false");
+                               } else {
+                                       buffer.append("true");
+                               }
+                               break;
+                       case 's':
+                               // System.out.println("args payload size : " + payload.length);
+                               for (int iii = index; iii < payload.length; iii++) {
+                                       if (payload[iii] != 0) {
+                                               buffer.append((char) payload[iii]);
+                                       } else {
+                                               index = iii + 1;
+                                               break;
+                                       }
+                               }
+                               break;
+                       default:
+                               break;
+                       }
+
+               args.setArgs(buffer.toString());
+               args.setLastIndex(index);
+               return args;
+       }
+       
        public static int getStringLength(int start, byte[] payload) {
                int length = 0;
                for (int i = start; i < payload.length; i++, length++) {
index fadd45f..3b03f62 100644 (file)
@@ -39,7 +39,6 @@ import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfoPackage;
 import org.tizen.dynamicanalyzer.swap.logparser.MessageParser;
 import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
-import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class ProbeCommonData extends LogData {
 
@@ -49,7 +48,7 @@ public class ProbeCommonData extends LogData {
        protected int pid = 0;
        protected int tid = 0;
        protected String args = null;
-       protected long ret = 0;
+       protected String ret = null;
        protected long errno = 0;
        protected int internalCall = 0;
        protected long callerAddress = 0;
@@ -79,8 +78,11 @@ public class ProbeCommonData extends LogData {
                args = argInfo.getArgs();
                index = argInfo.getLastIndex();
 
-               ret = ByteUtils.toLong(data, index);
-               index += LONG_SIZE;
+               // ret = ByteUtils.toLong(data, index);
+               // index += LONG_SIZE;
+               ArgsInfo retInfo = LogDataUtils.parseReturn(data, index);
+               ret = retInfo.getArgs();
+               index = retInfo.getLastIndex();
 
                errno = ByteUtils.toLong(data, index);
                index += LONG_SIZE;
@@ -145,20 +147,10 @@ public class ProbeCommonData extends LogData {
        }
 
        public String getReturn() {
-               String retStr = null;
-               if (ret < 0x10000000) {
-                       retStr = Long.toString(ret);
-               } else {
-                       retStr = AnalyzerUtil.toHexdecimal(ret);
-               }
-               return retStr;
-       }
-
-       public long getOriginalReturn() {
                return ret;
        }
 
-       public void setReturn(long ret) {
+       public void setReturn(String ret) {
                this.ret = ret;
        }
 
@@ -231,7 +223,7 @@ public class ProbeCommonData extends LogData {
                prep.setInt(index++, pid);
                prep.setInt(index++, tid);
                prep.setString(index++, args);
-               prep.setLong(index++, ret);
+               prep.setString(index++, ret);
                prep.setLong(index++, errno);
                prep.setInt(index++, internalCall);
                prep.setLong(index++, callerAddress);
@@ -249,7 +241,7 @@ public class ProbeCommonData extends LogData {
                pid = rs.getInt(index++);
                tid = rs.getInt(index++);
                args = rs.getString(index++);
-               ret = rs.getLong(index++);
+               ret = rs.getString(index++);
                errno = rs.getLong(index++);
                internalCall = rs.getInt(index++);
                callerAddress = rs.getLong(index++);
index 7195645..d69a584 100644 (file)
  */
 package org.tizen.dynamicanalyzer.swap.model.data;
 
+import static org.tizen.dynamicanalyzer.common.CommonConstants.INT_SIZE;
+import static org.tizen.dynamicanalyzer.common.CommonConstants.LONG_SIZE;
 import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_CONTEXT_SWITCH_ENTRY;
 import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_CONTEXT_SWITCH_EXIT;
 import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_DATA_SAMPLE;
 import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_FUNCTION_ENTRY;
 import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_FUNCTION_EXIT;
-import static org.tizen.dynamicanalyzer.common.CommonConstants.INT_SIZE;
-import static org.tizen.dynamicanalyzer.common.CommonConstants.LONG_SIZE;
 
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
@@ -42,7 +42,6 @@ import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfoPackage;
 import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
-import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class ProfileData extends LogData {
 
@@ -55,7 +54,7 @@ public class ProfileData extends LogData {
        int tid = 0; // profiling common
        int cpuNum = 0; // profiling common
        String args = null; // function entry specific
-       long ret = 0;
+       String ret = null;
        String apiName = null;
 
        int buildType = -1;
@@ -93,6 +92,7 @@ public class ProfileData extends LogData {
                        index += INT_SIZE;
                        ArgsInfo info = LogDataUtils.parseArgs(data, index);
                        args = info.getProfileArgs();
+                       index = info.getLastIndex();
                        break;
                case MSG_FUNCTION_EXIT:
                        logCount++;
@@ -106,7 +106,10 @@ public class ProfileData extends LogData {
                        index += LONG_SIZE;
                        cpuNum = ByteUtils.toInt(data, index);
                        index += INT_SIZE;
-                       ret = ByteUtils.toLong(data, index);
+                       ArgsInfo retInfo = LogDataUtils.parseReturn(data, index);
+                       ret = retInfo.getArgs();
+                       index = retInfo.getLastIndex();
+                       // ret = ByteUtils.toLong(data, index);
                        break;
                case MSG_CONTEXT_SWITCH_ENTRY:
                case MSG_CONTEXT_SWITCH_EXIT:
@@ -117,6 +120,7 @@ public class ProfileData extends LogData {
                        tid = ByteUtils.toInt(data, index);
                        index += INT_SIZE;
                        cpuNum = ByteUtils.toInt(data, index);
+                       index += INT_SIZE;
                        break;
                case MSG_DATA_SAMPLE:
                        pid = ByteUtils.toInt(data, index);
@@ -126,6 +130,7 @@ public class ProfileData extends LogData {
                        tid = ByteUtils.toInt(data, index);
                        index += INT_SIZE;
                        cpuNum = ByteUtils.toInt(data, index);
+                       index += INT_SIZE;
                        break;
 
                default:
@@ -143,7 +148,7 @@ public class ProfileData extends LogData {
                        } else {
                                libName = binInfo.getTargetBinaryPath();
                        }
-//                     System.out.println("plib name : " + libName);
+                       // System.out.println("plib name : " + libName);
                }
        }
 
@@ -212,20 +217,10 @@ public class ProfileData extends LogData {
        }
 
        public String getReturn() {
-               String retStr = null;
-               if (ret < 0x10000000) {
-                       retStr = Long.toString(ret);
-               } else {
-                       retStr = AnalyzerUtil.toHexdecimal(ret);
-               }
-               return retStr;
+               return ret;
        }
-       
-       public String getHexReturn() {
-               return AnalyzerUtil.toHexdecimal(ret);
-       }
-       
-       public void setRet(long ret) {
+
+       public void setRet(String ret) {
                this.ret = ret;
        }
 
@@ -259,7 +254,7 @@ public class ProfileData extends LogData {
                prep.setInt(index++, tid);
                prep.setInt(index++, cpuNum);
                prep.setString(index++, args);
-               prep.setLong(index++, ret);
+               prep.setString(index++, ret);
                prep.setString(index++, apiName);
                prep.setString(index++, libName);
                prep.setString(index++, callstack);
@@ -277,7 +272,7 @@ public class ProfileData extends LogData {
                tid = rs.getInt(index++);
                cpuNum = rs.getInt(index++);
                args = rs.getString(index++);
-               ret = rs.getLong(index++);
+               ret = rs.getString(index++);
                apiName = rs.getString(index++);
                libName = rs.getString(index++);
                callstack = rs.getString(index++);
index 6832bfc..4877d8d 100755 (executable)
@@ -37,10 +37,10 @@ public class CommonColumns {
 
        private static String[] dcn = { "APPID", "PID", "TID", "args", "Return",
                        "Errno", "InternalCall", "CallerPCAddr", "Reserved1", "Reserved2", "LibName" };
-       private static Integer[] dct = { I, I, I, T, L, L, I, L, I, I , T};
+       private static Integer[] dct = { I, I, I, T, T, L, I, L, I, I , T};
        private static String[] tcn = { "App ID", "PID", "TID", "Args", "Return",
                        "Errno", "Internal Call", "Caller PCAddr", "Reserved1", "Reserved2", "LibName" };
-       private static Integer[] logTypes = { I, I, I, T, L, L, I, L, I, I, T };
+       private static Integer[] logTypes = { I, I, I, T, T, L, I, L, I, I, T };
 
        private static List<String> dbColumnNames = null;
        private static List<Integer> dbColumnTypes = null;
index d2adba9..baf6db0 100755 (executable)
@@ -79,7 +79,7 @@ public class CustomLogParser {
                String apiName = log.getApiName();
 
                if (apiName.equals(API_NAME_CREATE_CHART)) {
-                       long chartHandle = log.getOriginalReturn();
+                       long chartHandle = Long.parseLong(log.getReturn());
                        String chartName = log.getName();
                        chartManager.addCustomChart(new UserCustomChart((int) chartHandle,
                                        chartName));
@@ -93,7 +93,7 @@ public class CustomLogParser {
                                return;
                        }
 
-                       long seriesHandle = log.getOriginalReturn();
+                       long seriesHandle = Long.parseLong(log.getReturn());
                        int seriesStyle = log.getType();
                        String seriesName = log.getName();
                        int colorIndex = log.getColor();
@@ -120,7 +120,7 @@ public class CustomLogParser {
                                return;
                        }
 
-                       long seriesHandle = log.getOriginalReturn();
+                       long seriesHandle = Long.parseLong(log.getReturn());
                        int colorIndex = chart.getUnusedColorIndex();
                        String seriesName = log.getName();