+++ /dev/null
-package org.tizen.dynamicanalyzer.swap.model.probe2;
-
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.*;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_CONTEXT_SWITCH_EXIT;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_DATA_SAMPLE;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_DATA_SYSTEM;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_FUNCTION_ENTRY;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_FUNCTION_EXIT;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_CUSTOM;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_FILE;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_NETWORK;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_LIFECYCLE;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_MEMORY;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_SCENE;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_SCREENSHOT;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_SYNC;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_THREAD;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_UICONTROL;
-import static org.tizen.dynamicanalyzer.common.AnalyzerConstants.MSG_PROBE_UIEVENT;
-import static org.tizen.dynamicanalyzer.common.CommonConstants.FLOAT_SIZE;
-import static org.tizen.dynamicanalyzer.common.CommonConstants.INT_SIZE;
-import static org.tizen.dynamicanalyzer.common.CommonConstants.LONG_SIZE;
-
-import org.tizen.dynamicanalyzer.common.CommonConstants;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
-import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
-import org.tizen.dynamicanalyzer.swap.logparser.MessageParser;
-import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
-import org.tizen.dynamicanalyzer.swap.model.DATime;
-import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
-import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager;
-
-public class DataFactory {
- private static int index = MessageParser.MSG_HEADER_SIZE;
-
- public static void createData(LogData data, byte[] payload) {
- int id = data.getId();
- index = MessageParser.MSG_HEADER_SIZE;
-
- switch (id) {
- case MSG_PROBE_MEMORY:
- createMemoryData(data, payload);
- break;
-
- case MSG_PROBE_UICONTROL:
- createControlData(data, payload);
- break;
-
- case MSG_PROBE_UIEVENT:
- createUIEventData(data, payload);
- break;
-
- case MSG_PROBE_FILE:
- createFileData(data, payload);
- break;
- case MSG_PROBE_NETWORK:
- System.out.println("MSG_PROBE_NETWORK paylaod : "+payload);
- break;
- case MSG_PROBE_GLES20:
- createGLES20Data(data, payload);
- break;
- case MSG_PROBE_LIFECYCLE:
- createLifecycleData(data, payload);
- break;
-
- case MSG_PROBE_SCREENSHOT:
- createScreenshotData(data, payload);
- break;
-
- case MSG_PROBE_SCENE:
- createSceneData(data, payload);
- break;
-
- case MSG_PROBE_THREAD:
- createThreadData(data, payload);
- break;
-
- case MSG_PROBE_CUSTOM:
- createCustomData(data, payload);
- break;
-
- case MSG_PROBE_SYNC:
- createSyncData(data, payload);
- break;
- case MSG_DATA_SYSTEM:
- createSystemData(data, payload);
- break;
- case MSG_DATA_SAMPLE:
- case MSG_FUNCTION_ENTRY:
- case MSG_FUNCTION_EXIT:
- createProfileData(data, payload);
- break;
- case MSG_RECORD:
- createRecordData(data, payload);
- break;
- case MSG_CONTEXT_SWITCH_ENTRY:
- case MSG_CONTEXT_SWITCH_EXIT:
- createContextSwitchData(data, payload);
- break;
- case LogCenterConstants.LOG_USER_FUNCTION:
- createUserFunctionData(data, payload);
- break;
- default:
- break;
- }
- }
-
- private static void createCommonData(LogData data, byte[] payload) {
- ProbeCommonData probeData = ((ProbeCommonData) data);
- int apiId = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int pid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int tid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- ArgsInfo argInfo = LogDataUtils.parseArgs(payload, index);
- String args = argInfo.getArgs();
- index = argInfo.getLastIndex();
- long ret = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- // long errno = ByteUtils.toLong(payload, index);
- // index += LONG_SIZE;
- long errno = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- int internalCall = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- long callerAddress = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- int reserved1 = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int reserved2 = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- probeData.setApiId(apiId);
- probeData.setPid(pid);
- probeData.setTid(tid);
- probeData.setArgs(args);
- probeData.setReturn(ret);
- probeData.setErrno(errno);
- probeData.setInternalCall(internalCall);
- probeData.setCallerAddress(callerAddress);
- probeData.setReserved1(reserved1);
- probeData.setReserved2(reserved2);
-
- probeData.setApiName(ApiNameManager.getApiName(apiId));
- }
-
- private static void createMemoryData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- MemoryData data = (MemoryData) log;
-
- int size = ByteUtils.toInt(payload, index);
- index += LONG_SIZE;
- int apiType = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- long address = ByteUtils.toLong(payload, index);
-
- data.setSize(size);
- data.setApitype(apiType);
- data.setAddress(address);
- }
-
- private static void createControlData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- ControlData data = (ControlData) log;
-
- int length = LogDataUtils.getStringLength(index, payload);
- byte[] temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String parentName = new String(temp);
- index += length;
-
- length = LogDataUtils.getStringLength(index, payload);
- temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String parentClassName = new String(temp);
- index += length;
-
- long parentPointer = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
-
- length = LogDataUtils.getStringLength(index, payload);
- temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String childName = new String(temp);
- index += length;
-
- length = LogDataUtils.getStringLength(index, payload);
- temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String childClassName = new String(temp);
- index += length;
-
- long childPointer = ByteUtils.toLong(payload, index);
-
- data.setParentName(parentName);
- data.setParentClassName(parentClassName);
- data.setParentPointer(parentPointer);
- data.setChildName(childName);
- data.setChildClassName(childClassName);
- data.setChildPointer(childPointer);
- }
-
- private static void createUIEventData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- UIEventData data = (UIEventData) log;
-
- int eventType = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int detailType = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int x = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int y = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- String info1 = ByteUtils.getString(payload, index);
- index += ByteUtils.getStringLength(payload, index);
- int info2 = ByteUtils.toInt(payload, index);
-
- data.setEventType(eventType);
- data.setDetailType(detailType);
- data.setX(x);
- data.setY(y);
- data.setInfo1(info1);
- data.setInfo2(info2);
- data.setInfo2(0);
- }
-
- private static void createFileData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- FileData data = (FileData) log;
-
- long size = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- long fdValue = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- int fdApiType = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- long fileSize = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- String filePath = LogDataUtils.getString(index, payload);
-
- data.setSize(size);
- data.setFdValue(fdValue);
- data.setFdApiType(fdApiType);
- data.setFileSize(fileSize);
- data.setFilePath(filePath);
- }
-
- private static void createGLES20Data(LogData log, byte[] payload) {
- createCommonData(log, payload);
- GLES20LogData data = (GLES20LogData) log;
-
- int apiType = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- long elapsedTime = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
-
-// int length = LogDataUtils.getStringLength(index, payload);
-// byte[] temp = new byte[length];
-// System.arraycopy(payload, index, temp, 0, length);
-// String contextValue = new String(temp);
- String contextValue = LogDataUtils.getString(index, payload);
-
- data.setApiType(apiType);
- data.setElapsedTime(elapsedTime);
- data.setContextValue(contextValue);
- }
-
- private static void createLifecycleData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- }
-
- private static void createScreenshotData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- ScreenShotData data = (ScreenShotData) log;
-
- int length = LogDataUtils.getStringLength(index, payload);
- byte[] temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String imageFilePath = new String(temp);
- index += length;
-
- int orientation = ByteUtils.toInt(payload, index);
-
- data.setImageFilePath(imageFilePath);
- data.setOrientation(orientation);
- }
-
- private static void createSceneData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- SceneData data = (SceneData) log;
-
- int length = LogDataUtils.getStringLength(index, payload);
- byte[] temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String sceneName = new String(temp);
- index += length;
-
- length = LogDataUtils.getStringLength(index, payload);
- temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String formName = new String(temp);
- index += length;
-
- long formPointer = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
-
- length = LogDataUtils.getStringLength(index, payload);
- temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String panelName = new String(temp);
- index += length;
-
- long panelPointer = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- int transitionTime = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int userTransitionTime = ByteUtils.toInt(payload, index);
-
- data.setSceneName(sceneName);
- data.setFormName(formName);
- data.setFormPointer(formPointer);
- data.setPanelName(panelName);
- data.setPanelPointer(panelPointer);
- data.setTransitionTime(transitionTime);
- data.setUserTransitionTime(userTransitionTime);
- }
-
- private static void createThreadData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- ThreadData data = (ThreadData) log;
-
- long pThreadId = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- long ospThreadId = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- int threadType = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int apiType = ByteUtils.toInt(payload, index);
-
- data.setpThreadId(pThreadId);
- data.setOspThreadId(ospThreadId);
- data.setThreadType(threadType);
- data.setApiType(apiType);
- }
-
- private static void createCustomData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- CustomData data = (CustomData) log;
-
- int handle = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int type = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int length = LogDataUtils.getStringLength(index, payload);
- byte[] temp = new byte[length];
- System.arraycopy(payload, index, temp, 0, length);
- String name = new String(temp);
- index += length;
-
- int color = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- double value = ByteUtils.toDouble(payload, index);
-
- data.setHandle(handle);
- data.setType(type);
- data.setName(name);
- data.setColor(color);
- data.setValue(value);
- }
-
- private static void createSyncData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- SyncData data = (SyncData) log;
-
- long syncValue = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- int syncType = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int apiType = ByteUtils.toInt(payload, index);
-
- data.setSyncValue(syncValue);
- data.setSyncType(syncType);
- data.setApiType(apiType);
- }
-
- private static void createSystemData(LogData log, byte[] payload) {
- SystemData data = (SystemData) log;
- int coreCount = DACommunicator.getSelectedDevice().getTargetInfo()
- .getCpuCount();
-
- float appCpuUsage = ByteUtils.toFloat(payload, index);
- index += FLOAT_SIZE;
-
- String cpuFrequency = parseCpu(index, payload);
- index += (FLOAT_SIZE * coreCount);
-
- String cpuLoad = parseCpu(index, payload);
- index += (FLOAT_SIZE * coreCount);
-
- int threadCount = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- String threadLoad = parseLoad(index, payload);
- index += (threadCount * (INT_SIZE + FLOAT_SIZE));
-
- int processCount = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- String processLoad = parseLoad(index, payload);
- index += (processCount * (INT_SIZE + FLOAT_SIZE));
-
- int virtualMemory = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int residentMemory = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int sharedMemory = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int pssMemory = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int totalAllocSize = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- long systemMemoryTotal = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
-
- long systemMemoryUsed = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
-
- int totalUsedDrive = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int diskReadSize = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int diskWriteSize = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int diskSectorsWritten = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int networkSendSize = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int networkReceiveSize = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int wifi = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int btStatus = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int gpsStatus = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int brightness = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int camera = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int sound = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int audio = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int vibration = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int voltage = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int rssi = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int video = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int call = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int dnet = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
-
- int energy = ByteUtils.toInt(payload, index);
-
- data.setEnergy(energy);
- data.setWifi(wifi);
- data.setBtStatus(btStatus);
- data.setGpsStatus(gpsStatus);
- data.setBrightness(brightness);
- data.setCamera(camera);
- data.setSound(sound);
- data.setAudio(audio);
- data.setVibration(vibration);
- data.setVoltage(voltage);
- data.setRssi(rssi);
- data.setVideo(video);
- data.setCall(call);
- data.setDnet(dnet);
- data.setCpuFrequency(cpuFrequency);
- data.setAppCpuUsage(appCpuUsage);
- data.setCpuLoad(cpuLoad);
- data.setVirtualMemory(virtualMemory);
- data.setResidentMemory(residentMemory);
- data.setSharedMemory(sharedMemory);
- data.setPssMemory(pssMemory);
- data.setTotalAllocSize(totalAllocSize);
- data.setSystemMemoryTotal(systemMemoryTotal);
- data.setSystemMemoryUsed(systemMemoryUsed);
- data.setTotalUsedDrive(totalUsedDrive);
- data.setThreadCount(threadCount);
- data.setThreadLoad(threadLoad);
- data.setProcessCount(processCount);
- data.setProcessLoad(processLoad);
- data.setDiskReadSize(diskReadSize);
- data.setDiskWriteSize(diskWriteSize);
- data.setDiskSectorsWritten(diskSectorsWritten);
- data.setNetworkSendSize(networkSendSize);
- data.setNetworkReceiveSize(networkReceiveSize);
- }
-
- private static void createProfileData(LogData log, byte[] payload) {
- ProfileData data = (ProfileData) log;
-
- long pcAddr = 0; // profiling common
- int pid = 0; // profiling common
- int tid = 0; // profiling common
- int cpuNum = 0; // profiling common
- long ret = 0;
-
- switch (data.getId()) {
- case MSG_FUNCTION_ENTRY:
- pcAddr = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- long callerPcAddr = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
-
- byte[] temp = new byte[4];
- System.arraycopy(payload, index, temp, 0, 2);
- int probeType = ByteUtils.toInt(temp, 0);
- index += 2;
-
- System.arraycopy(payload, index, temp, 0, 2);
- int probeSubType = ByteUtils.toInt(temp, 0);
- index += 2;
-
- pid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- tid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- cpuNum = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- ArgsInfo info = LogDataUtils.parseArgs(payload, index);
- String args = info.getArgs();
-
- data.setPcAddr(pcAddr);
- data.setCallerPcAddr(callerPcAddr);
- data.setProbeType(probeType);
- data.setProbeSubType(probeSubType);
- data.setPid(pid);
- data.setTid(tid);
- data.setCpuNum(cpuNum);
- data.setArgs(args);
- break;
- case MSG_FUNCTION_EXIT:
- pid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- tid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- pcAddr = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- cpuNum = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- ret = ByteUtils.toLong(payload, index);
-
- data.setPid(pid);
- data.setTid(tid);
- data.setPcAddr(pcAddr);
- data.setCpuNum(cpuNum);
- data.setRet(ret);
- break;
- case MSG_CONTEXT_SWITCH_ENTRY:
- case MSG_CONTEXT_SWITCH_EXIT:
- pcAddr = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- pid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- tid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- cpuNum = ByteUtils.toInt(payload, index);
-
- data.setPcAddr(pcAddr);
- data.setPid(pid);
- data.setTid(tid);
- data.setCpuNum(cpuNum);
- break;
- case MSG_DATA_SAMPLE:
- pid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- pcAddr = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- tid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- cpuNum = ByteUtils.toInt(payload, index);
-
- data.setPid(pid);
- data.setPcAddr(pcAddr);
- data.setTid(tid);
- data.setCpuNum(cpuNum);
- break;
-
- default:
- break;
- }
- }
-
- private static void createContextSwitchData(LogData log, byte[] payload) {
- ContextSwitchData data = (ContextSwitchData) log;
-
- long pcAddr = 0; // profiling common
- int pid = 0; // profiling common
- int tid = 0; // profiling common
- int cpuNum = 0; // profiling common
-
- pcAddr = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- pid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- tid = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- cpuNum = ByteUtils.toInt(payload, index);
-
- data.setPcAddr(pcAddr);
- data.setPid(pid);
- data.setTid(tid);
- data.setCpuNum(cpuNum);
-
- }
-
- private static void createRecordData(LogData log, byte[] payload) {
- ReplayData data = (ReplayData) log;
-
- int count = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- data.setObjectCount(count);
-
- for (int i = 0; i < count; i++) {
- RecordEventObject recordObj = new RecordEventObject();
- // event time
- int sec = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- int nano = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- DATime time = new DATime();
- time.setSec(sec);
- time.setNano(nano);
- recordObj.setEventTime(time);
-
- // event id
- int value = ByteUtils.toInt(payload, index);
- recordObj.setEventId(value);
- index += INT_SIZE;
-
- // event type
- value = ByteUtils.toInt(payload, index);
- recordObj.setEventType(value);
- index += INT_SIZE;
-
- // eventy code
- value = ByteUtils.toInt(payload, index);
- recordObj.setEventCode(value);
- index += INT_SIZE;
-
- value = ByteUtils.toInt(payload, index);
- recordObj.setEventValue(value);
- data.getRecordEvent().add(recordObj);
- }
- }
-
- private static void createUserFunctionData(LogData log, byte[] payload) {
- createCommonData(log, payload);
- UserFunctionData data = (UserFunctionData) log;
-
- long lowPc = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- long highPc = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- int type = ByteUtils.toInt(payload, index);
- index += INT_SIZE;
- long elapsedTime = ByteUtils.toLong(payload, index);
- index += LONG_SIZE;
- long pcAddr = ByteUtils.toLong(payload, index);
-
- data.setLowPc(lowPc);
- data.setHighPc(highPc);
- data.setType(type);
- data.setElapsedTime(elapsedTime);
- data.setPcAddr(pcAddr);
- }
-
- private static String parseCpu(int start, byte[] payload) {
- int coreCount = DACommunicator.getSelectedDevice().getTargetInfo()
- .getCpuCount();
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < coreCount; i++) {
- float value = ByteUtils.toFloat(payload, start);
- start += FLOAT_SIZE;
- buffer.append(value);
- if (i + 1 != coreCount) {
- buffer.append(',');
- }
- }
- return buffer.toString();
- }
-
- private static String parseLoad(int start, byte[] payload) {
- int pos = start;
- int backPos = start - INT_SIZE;
- int count = ByteUtils.toInt(payload, backPos);
- StringBuffer outBuf = new StringBuffer();
- for (int ii = 0; ii < count; ii++) {
- try{
- if (pos == 180)
- {
- System.out.println();
- }
- int tid = ByteUtils.toInt(payload, pos);
- pos += INT_SIZE;
- outBuf.append(tid).append(CommonConstants.COMMA);
- float f = ByteUtils.toFloat(payload, pos);
- outBuf.append(f);
- pos += FLOAT_SIZE;
- if (ii + 1 != count) {
- outBuf.append(',');
- }
- }catch(ArrayIndexOutOfBoundsException e)
- {
- e.printStackTrace();
- break;
- }
- }
-
- return outBuf.toString();
- }
-}