From 909b1d3089d2a8ee8199c8f4f58c1f4c6376e9d5 Mon Sep 17 00:00:00 2001 From: jooyoul_lee Date: Mon, 28 Oct 2013 15:03:16 +0900 Subject: [PATCH] [Title] many bug fixed. [Desc.] process info fixed, binary info fixed, source view fixed. [Issue] - --- .../dynamicanalyzer/common/AnalyzerConstants.java | 7 + .../communicator/Communicator22.java | 4 +- .../dynamicanalyzer/handlers/OpenTraceHandler.java | 98 ++++--- .../handlers/ReplayTraceHandler.java | 2 +- .../listeners/SummaryMouseDoubleClickListener.java | 12 +- .../listeners/TableTooltipListener.java | 88 +++++-- .../logparser/LogCenterConstants.java | 2 +- .../dynamicanalyzer/logparser/LogInserter.java | 4 +- .../dynamicanalyzer/logparser/LogListQueue.java | 2 +- .../tizen/dynamicanalyzer/logparser/LogParser.java | 286 +++++++++++---------- .../dynamicanalyzer/logparser/MessageProcess.java | 4 +- .../org/tizen/dynamicanalyzer/model/DAView.java | 2 +- .../tizen/dynamicanalyzer/model/DeviceInfo.java | 2 +- .../tizen/dynamicanalyzer/nl/SummaryLabels.java | 3 + .../dynamicanalyzer/nl/SummaryLabels.properties | 7 +- .../tizen/dynamicanalyzer/project/PackageInfo.java | 41 ++- .../org/tizen/dynamicanalyzer/project/Project.java | 43 ++-- .../tizen/dynamicanalyzer/sql/DBTableManager.java | 17 +- .../org/tizen/dynamicanalyzer/sql/SqlManager.java | 126 ++++----- .../swap/callstack/BaseCallstackManager.java | 2 +- .../swap/callstack/SWAPCallStackManager.java | 72 +++--- .../control/ApplicationInfo.java | 2 +- .../control/ApplicationInst.java | 2 +- .../{model => channel}/control/BasicMessage.java | 2 +- .../{model => channel}/control/BinaryInfo.java | 13 +- .../{model => channel}/control/EventObject.java | 2 +- .../{model => channel}/control/FunctionInst.java | 2 +- .../{model => channel}/control/LibraryInst.java | 2 +- .../{model => channel}/control/ReplayEvent.java | 2 +- .../control/RunTimeConfiguration.java | 2 +- .../{model => channel}/control/TargetInfo.java | 2 +- .../{model => channel}/control/UserSpaceInst.java | 2 +- .../{model => channel}/data/ApiNameManager.java | 2 +- .../{model => channel}/data/BasicDataMessage.java | 4 +- .../data/DataChannelConstants.java | 2 +- .../{model => channel}/data/LibraryObject.java | 2 +- .../swap/{model => channel}/data/ProcessInfo.java | 57 +++- .../swap/channel/data/ProcessInfoPackage.java | 70 +++++ .../swap/communicator/Communicator30.java | 69 ++--- .../dynamicanalyzer/swap/logparser/LogPackage.java | 2 +- .../dynamicanalyzer/swap/logparser/LogQueue.java | 2 +- .../tizen/dynamicanalyzer/swap/logparser/Logs.java | 2 +- .../swap/logparser/MessageParser.java | 44 ++-- .../swap/logparser/SWAPLogParser.java | 124 ++------- .../tizen/dynamicanalyzer/swap/model/DATime.java | 1 + .../swap/model/RecordEventObject.java | 2 +- .../swap/model/{probe2 => data}/ArgsInfo.java | 2 +- .../model/{probe2 => data}/ContextSwitchData.java | 2 +- .../swap/model/{probe2 => data}/ControlData.java | 2 +- .../swap/model/{probe2 => data}/CustomData.java | 2 +- .../swap/model/{probe2 => data}/FileData.java | 2 +- .../swap/model/{probe2 => data}/GLES20LogData.java | 2 +- .../swap/model/{probe2 => data}/LifeCycleData.java | 2 +- .../swap/model/{probe2 => data}/LogData.java | 2 +- .../model/{probe2 => data}/LogDataFactory.java | 77 +++--- .../swap/model/{probe2 => data}/LogDataUtils.java | 2 +- .../swap/model/{probe2 => data}/MemoryData.java | 2 +- .../swap/model/{probe2 => data}/NetworkData.java | 2 +- .../model/{probe2 => data}/ProbeCommonData.java | 4 +- .../swap/model/{probe2 => data}/ProfileData.java | 39 ++- .../swap/model/{probe2 => data}/ReplayData.java | 2 +- .../swap/model/{probe2 => data}/SceneData.java | 2 +- .../model/{probe2 => data}/ScreenShotData.java | 2 +- .../swap/model/{probe2 => data}/SyncData.java | 2 +- .../swap/model/{probe2 => data}/SystemData.java | 2 +- .../swap/model/{probe2 => data}/ThreadData.java | 2 +- .../swap/model/{probe2 => data}/UIEventData.java | 2 +- .../model/{probe2 => data}/UserFunctionData.java | 2 +- .../model/{probe => format}/CommonColumns.java | 8 +- .../{probe => format}/ContextSwitchLogFormat.java | 2 +- .../model/{probe => format}/ControlLogFormat.java | 2 +- .../{probe => format}/CustomChartLogFormat.java | 2 +- .../model/{probe => format}/FileLogFormat.java | 2 +- .../model/{probe => format}/GLES20LogFormat.java | 2 +- .../model/{probe => format}/HeaderColumns.java | 6 +- .../{probe => format}/LifeCycleLogFormat.java | 2 +- .../swap/model/{probe => format}/LogFormat.java | 2 +- .../model/{probe => format}/MemoryLogFormat.java | 2 +- .../model/{probe => format}/NetworkLogFormat.java | 2 +- .../{probe => format}/ProfilingLogFormat.java | 2 +- .../model/{probe => format}/ReplayLogFormat.java | 2 +- .../model/{probe => format}/SceneLogFormat.java | 2 +- .../{probe => format}/ScreenShotLogFormat.java | 2 +- .../model/{probe => format}/SyncLogFormat.java | 2 +- .../model/{probe => format}/SystemLogFormat.java | 2 +- .../model/{probe => format}/ThreadLogFormat.java | 2 +- .../model/{probe => format}/UIEventLogFormat.java | 2 +- .../{probe => format}/UserFunctionLogFormat.java | 2 +- .../swap/platform/BinarySettingManager.java | 2 +- .../dynamicanalyzer/ui/file/FileApiListTable.java | 2 +- .../dynamicanalyzer/ui/file/FileApiListView.java | 2 +- .../ui/file/FileChartDataEvent.java | 2 +- .../dynamicanalyzer/ui/file/FileChartManager.java | 2 +- .../dynamicanalyzer/ui/file/FileChartView.java | 4 +- .../dynamicanalyzer/ui/file/FileDataMaker.java | 4 +- .../ui/info/callstack/CallStackManager.java | 60 +++-- .../ui/info/callstack/CallStackUnit.java | 41 ++- .../ui/info/callstack/CallstackTable.java | 5 +- .../ui/info/callstack/CallstackView.java | 2 +- .../ui/info/snapshot/SnapshotView.java | 6 +- .../ui/network/NetworkApiListTable.java | 2 +- .../ui/network/NetworkApiListView.java | 2 +- .../ui/network/NetworkChartDataEvent.java | 2 +- .../ui/network/NetworkChartManager.java | 2 +- .../ui/network/NetworkChartView.java | 4 +- .../ui/network/NetworkDataMaker.java | 4 +- .../ui/opengl/data/GLDataMaker.java | 2 +- .../ui/opengl/data/model/GLAPIData.java | 2 +- .../ui/opengl/ui/GLDetailsView.java | 2 +- .../tizen/dynamicanalyzer/ui/opengl/ui/GLPage.java | 6 +- .../ui/opengl/ui/apiList/GLAPIListTable.java | 2 +- .../ui/opengl/ui/chart/GLFrameRateChart.java | 4 +- .../ui/opengl/ui/context/GLContextView.java | 2 +- .../dynamicanalyzer/ui/page/DAPageComposite.java | 2 +- .../tizen/dynamicanalyzer/ui/page/ViewAction.java | 2 +- .../dynamicanalyzer/ui/range/RangeDataManager.java | 10 +- .../ui/summary/failed/FailedApiListView.java | 6 +- .../ui/summary/failed/FailedApiTable.java | 22 +- .../ui/summary/failed/FailedChecker.java | 10 +- .../ui/summary/failed/FailedData.java | 4 +- .../dynamicanalyzer/ui/summary/leaks/LeakData.java | 50 ++-- .../ui/summary/leaks/LeakDetector.java | 4 +- .../ui/summary/leaks/LeakTable.java | 34 ++- .../dynamicanalyzer/ui/summary/leaks/LeakView.java | 19 +- .../summary/profiling/FunctionUsageProfiler.java | 4 +- .../profiling/FunctionUsageProfilingView.java | 4 +- .../ui/summary/profiling/ProfileDataMaker.java | 32 ++- .../ui/summary/warning/WarningData.java | 11 +- .../ui/summary/warning/WarningListView.java | 8 +- .../ui/summary/warning/WarningTable.java | 23 +- .../ui/thread/ThreadAPIListTable.java | 4 +- .../ui/thread/ThreadChartManager.java | 4 +- .../dynamicanalyzer/ui/thread/ThreadChartView.java | 4 +- .../ui/thread/ThreadPageDataEvent.java | 2 +- .../ui/thread/sync/ThreadPageSyncDataEvent.java | 2 +- .../ui/thread/sync/ThreadPageSyncDataManager.java | 6 +- .../ui/thread/thread/ThreadPageThreadData.java | 2 +- .../thread/thread/ThreadPageThreadDataEvent.java | 2 +- .../thread/thread/ThreadPageThreadDataManager.java | 10 +- .../ui/timeline/calltrace/CallTraceTable.java | 8 +- .../ui/timeline/calltrace/CallTraceView.java | 14 +- .../ui/timeline/calltrace/UserFunctionManager.java | 14 +- .../ui/timeline/chart/CPUChart.java | 6 +- .../ui/timeline/chart/CPUCoreChart.java | 6 +- .../ui/timeline/chart/CPUFrequencyChart.java | 6 +- .../ui/timeline/chart/DiskIOChart.java | 6 +- .../ui/timeline/chart/FileChart.java | 4 +- .../ui/timeline/chart/HeapChart.java | 8 +- .../ui/timeline/chart/NetworkIOChart.java | 6 +- .../ui/timeline/chart/ProcessMemoryChart.java | 6 +- .../ui/timeline/chart/ScreenshotChart.java | 6 +- .../ui/timeline/chart/SystemMemoryChart.java | 6 +- .../ui/timeline/chart/UIEventChart.java | 6 +- .../ui/timeline/chart/UserCustomChart.java | 2 +- .../ui/timeline/common/TimelineView.java | 2 +- .../ui/timeline/logparser/CustomLogParser.java | 6 +- .../ui/timeline/logparser/DeviceLogParser.java | 2 +- .../ui/timeline/logparser/LifecycleLogParser.java | 6 +- .../ui/toolbar/opentrace/OpenTraceInputReader.java | 6 +- .../ui/userinterface/UIDataManager.java | 8 +- .../userinterface/control/UIControlListData.java | 2 +- .../control/UIControlListDataChecker.java | 2 +- .../userinterface/control/UIControlListTable.java | 4 +- .../profiling/UIFunctionProfilingData.java | 2 +- .../ui/userinterface/scene/UISceneData.java | 2 +- .../ui/userinterface/scene/UISceneDataChecker.java | 2 +- .../ui/userinterface/scene/UISceneListTable.java | 2 +- .../dynamicanalyzer/ui/widgets/DATabComposite.java | 2 +- .../ui/widgets/table/DATableComposite.java | 2 +- .../ui/widgets/table/DATableDataFormat.java | 2 +- .../tizen/dynamicanalyzer/utils/AnalyzerUtil.java | 136 ++++++---- 171 files changed, 1231 insertions(+), 958 deletions(-) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/ApplicationInfo.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/ApplicationInst.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/BasicMessage.java (96%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/BinaryInfo.java (87%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/EventObject.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/FunctionInst.java (96%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/LibraryInst.java (96%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/ReplayEvent.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/RunTimeConfiguration.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/TargetInfo.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/control/UserSpaceInst.java (96%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/data/ApiNameManager.java (96%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/data/BasicDataMessage.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/data/DataChannelConstants.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/data/LibraryObject.java (96%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/{model => channel}/data/ProcessInfo.java (65%) create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfoPackage.java rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/ArgsInfo.java (95%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/ContextSwitchData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/ControlData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/CustomData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/FileData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/GLES20LogData.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/LifeCycleData.java (94%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/LogData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/LogDataFactory.java (76%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/LogDataUtils.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/MemoryData.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/NetworkData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/ProbeCommonData.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/ProfileData.java (85%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/ReplayData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/SceneData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/ScreenShotData.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/SyncData.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/SystemData.java (99%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/ThreadData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/UIEventData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe2 => data}/UserFunctionData.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/CommonColumns.java (91%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/ContextSwitchLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/ControlLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/CustomChartLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/FileLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/GLES20LogFormat.java (95%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/HeaderColumns.java (92%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/LifeCycleLogFormat.java (95%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/LogFormat.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/MemoryLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/NetworkLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/ProfilingLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/ReplayLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/SceneLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/ScreenShotLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/SyncLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/SystemLogFormat.java (98%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/ThreadLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/UIEventLogFormat.java (97%) rename org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/{probe => format}/UserFunctionLogFormat.java (97%) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java index 195751f..6d0f538 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java @@ -310,5 +310,12 @@ public class AnalyzerConstants { public final static int MSG_SWAP_INST_ADD_ACK = 0x1008; public final static int MSG_SWAP_INST_REMOVE_ACK = 0x1009; public final static int MSG_WAIT_ACK = 0x1010; + + public final static int TYPE_TABLE_CALLSTACK = 0x0001; + public final static int TYPE_TABLE_FAILED = 0x0002; + public final static int TYPE_TABLE_LEAK = 0x0004; + public final static int TYPE_TABLE_WARNING = 0x0008; + public final static int TYPE_TABLE_NORMAL = 0x0010; + public final static int TYPE_TABLE_CALLTRACE = 0x0020; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java index 3989c38..36042bd 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java @@ -43,8 +43,8 @@ import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.common.HostResult; import org.tizen.dynamicanalyzer.model.DeviceInfo; import org.tizen.dynamicanalyzer.project.PackageInfo; -import org.tizen.dynamicanalyzer.swap.model.control.EventObject; -import org.tizen.dynamicanalyzer.swap.model.control.ReplayEvent; +import org.tizen.dynamicanalyzer.swap.channel.control.EventObject; +import org.tizen.dynamicanalyzer.swap.channel.control.ReplayEvent; import org.tizen.dynamicanalyzer.ui.file.FileChartManager; import org.tizen.dynamicanalyzer.ui.network.NetworkChartManager; import org.tizen.dynamicanalyzer.ui.summary.profiling.FunctionUsageProfiler; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java index 4d60ca6..d49e6cf 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java @@ -45,11 +45,12 @@ import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; import org.tizen.dynamicanalyzer.project.Project; import org.tizen.dynamicanalyzer.resources.ImageResources; import org.tizen.dynamicanalyzer.sql.SqlManager; -import org.tizen.dynamicanalyzer.swap.model.control.TargetInfo; -import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.data.LibraryObject; -import org.tizen.dynamicanalyzer.swap.model.data.ProcessInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.TargetInfo; +import org.tizen.dynamicanalyzer.swap.channel.data.ApiNameManager; +import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; +import org.tizen.dynamicanalyzer.swap.channel.data.LibraryObject; +import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo; +import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfoPackage; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackUnit; import org.tizen.dynamicanalyzer.ui.page.DAPageComposite; @@ -114,8 +115,8 @@ public class OpenTraceHandler extends AbstractHandler { int percent = OpenTraceProgressManager.getInstance().getPercent(); if (loadInfos() -// && loadCallStackData() && loadCallStackApis() -// && loadProfilingData() && loadProfilingChildData() + // && loadCallStackData() && loadCallStackApis() + // && loadProfilingData() && loadProfilingChildData() && loadLeakData() && loadFailedData() && loadImageSet()) { OpenTraceProgressManager.getInstance().setProgressPercent( @@ -134,7 +135,7 @@ public class OpenTraceHandler extends AbstractHandler { ToolbarArea.getInstance().setAppComboText(project.getAppName()); ToolbarArea.getInstance().checkStartButtonAndAppListEnablement(); ToolbarArea.getInstance().setRepalyButtonEnable(true); - if (AnalyzerManager.getProject().getProcessInfoHash().isEmpty()) { + if (AnalyzerManager.getProject().getProcessInfoPackHash().isEmpty()) { ToolbarArea.getInstance().setSourceViewEnable(false); ToolbarArea.getInstance().setSourceViewTooltip( AnalyzerLabels.MESSAGE_PROCESS_PG_WARNING); @@ -222,7 +223,8 @@ public class OpenTraceHandler extends AbstractHandler { long addr = Long.parseLong(pInfo.get(0)); String api = pInfo.get(1); int pid = Integer.parseInt(pInfo.get(2)); - CallStackUnit csa = new CallStackUnit(addr, api, pid); + long time = Long.parseLong(pInfo.get(3)); + CallStackUnit csa = new CallStackUnit(addr, api, pid, time); apiHash.put(addr, csa); } @@ -243,39 +245,59 @@ public class OpenTraceHandler extends AbstractHandler { AnalyzerManager.getProject().setTargetInfo(targetInfo); } - dbInfo = SqlManager.getInstance().loadProcessInfo(); - HashMap processMap = AnalyzerManager.getProject() - .getProcessInfoHash(); - if (null == dbInfo) { - System.out.println("failed - load Process Info"); - isSuccess = false; - } else { - for (int i = 0; i < dbInfo.size(); i++) { - List info = dbInfo.get(i); - ProcessInfo process = new ProcessInfo(); - process.loadSaveFormat(info.get(i)); - processMap.put(process.getPid(), process); - - String option = "where pid = " + process.getPid(); - List> objInfo = SqlManager.getInstance().loadLibObj(option); - if (null == objInfo) { - System.out.println("failed - load Lib Object"); - isSuccess = false; - } else { - for (List libInfo : objInfo) { - LibraryObject libObj = new LibraryObject(); - libObj.setPid(Integer.parseInt(libInfo.get(0))); - libObj.setLowestAddress(Long.parseLong(libInfo.get(1))); - libObj.setHighestAddress(Long.parseLong(libInfo.get(2))); - libObj.setLibPath(libInfo.get(3)); - process.getLibObjs().add(libObj); - process.getLibObjHash() - .put(libObj.getLibPath(), libObj); + List pids = SqlManager.getInstance().getPids(); + int pidCount = pids.size(); + + HashMap processPkgMap = AnalyzerManager + .getProject().getProcessInfoPackHash(); + for (int h = 0; h < pidCount; h++) { + ProcessInfoPackage pip = new ProcessInfoPackage(); + String option = " where pid = " + pids.get(h); + dbInfo = SqlManager.getInstance().loadProcessInfo(option); + if (null == dbInfo) { + System.out.println("failed - load Process Info"); + isSuccess = false; + continue; + } else { + List pInfos = pip.getProcessSnapshots(); + for (int i = 0; i < dbInfo.size(); i++) { + List info = dbInfo.get(i); + ProcessInfo process = new ProcessInfo(); + process.loadSaveFormat(info.get(i)); + pInfos.add(process); + if (i == 0) { + pip.setPid(process.getPid()); + pip.setPpid(process.getPpid()); + pip.setTargetBinaryPath(process.getMainTargetBinaryPath()); + } + String subOption = "where pid = " + process.getPid() + + " and time = " + + process.getStartTime().getSaveFormat(); + List> objInfo = SqlManager.getInstance() + .loadLibObj(subOption); + if (null == objInfo) { + System.out.println("failed - load Lib Object"); + isSuccess = false; + continue; + } else { + for (List libInfo : objInfo) { + LibraryObject libObj = new LibraryObject(); + libObj.setPid(Integer.parseInt(libInfo.get(0))); + // 1 : time + libObj.setLowestAddress(Long.parseLong(libInfo + .get(2))); + libObj.setHighestAddress(Long.parseLong(libInfo + .get(3))); + libObj.setLibPath(libInfo.get(4)); + process.getLibObjs().add(libObj); + process.getLibObjHash().put(libObj.getLibPath(), + libObj); + } } } } + processPkgMap.put(pip.getPid(), pip); } - dbInfo = SqlManager.getInstance().loadApiNames(); if (null == dbInfo) { System.out.println("failed - load Api names"); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java index e424fcf..2796fa6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java @@ -35,7 +35,7 @@ import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.sql.SqlManager; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.DATime; -import org.tizen.dynamicanalyzer.swap.model.probe2.ReplayData; +import org.tizen.dynamicanalyzer.swap.model.data.ReplayData; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; import org.tizen.dynamicanalyzer.ui.toolbar.configuration.ConfigurationDialogValues; import org.tizen.dynamicanalyzer.uirecorder.UIRecorderTool; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/SummaryMouseDoubleClickListener.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/SummaryMouseDoubleClickListener.java index 479c2c9..83f2ef8 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/SummaryMouseDoubleClickListener.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/SummaryMouseDoubleClickListener.java @@ -31,12 +31,12 @@ import org.eclipse.nebula.widgets.grid.GridItem; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.graphics.Point; -import org.tizen.dynamicanalyzer.swap.model.probe2.FileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.GLES20LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.NetworkData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ThreadData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UIEventData; +import org.tizen.dynamicanalyzer.swap.model.data.FileData; +import org.tizen.dynamicanalyzer.swap.model.data.GLES20LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.NetworkData; +import org.tizen.dynamicanalyzer.swap.model.data.ThreadData; +import org.tizen.dynamicanalyzer.swap.model.data.UIEventData; import org.tizen.dynamicanalyzer.ui.file.FilePage; import org.tizen.dynamicanalyzer.ui.network.NetworkPage; import org.tizen.dynamicanalyzer.ui.opengl.ui.GLPage; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java index 1540246..8d2f10a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java @@ -29,6 +29,7 @@ import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; +import java.util.List; import org.eclipse.nebula.widgets.grid.Grid; import org.eclipse.nebula.widgets.grid.GridItem; @@ -47,14 +48,19 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.common.SymbolManager; import org.tizen.dynamicanalyzer.common.SymbolManager.SourceLine; +import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.communicator.IDECommunicator; -import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UserFunctionData; +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.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; +import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; import org.tizen.dynamicanalyzer.ui.widgets.DADialog; import org.tizen.dynamicanalyzer.ui.widgets.table.DATableDataFormat; @@ -331,26 +337,70 @@ public class TableTooltipListener implements Listener { private SourceLine getSourceLine(GridItem item) { // Gets source path and line. DATableDataFormat tableData = (DATableDataFormat) item.getData(); - LogData data = tableData.getLogData(); + LogData data = null; long addr = -1; - if (tableData.getType() == LogCenterConstants.TYPE_CALLSTACK) { + // boolean isPieBuild = AnalyzerUtil.isPieBuild(data.getPid()); + boolean isPieBuild = true; + int pid = -1; + long time = 0; + int seq = -1; + + switch (tableData.getType()) { + case AnalyzerConstants.TYPE_TABLE_CALLSTACK: addr = (Long) tableData.getObject(); - } else if (data instanceof UserFunctionData) { - addr = ((UserFunctionData) data).getCallerPcAddr(); - } else { - int seqNum = data.getSeq(); - if (seqNum < 0) { - SourceLine sl = new SourceLine(); - sl.setError(AnalyzerConstants.SOURCELINE_NO_SOURCELINE_DATA); - return sl; + break; + case AnalyzerConstants.TYPE_TABLE_FAILED: + List failedData = tableData.getData(); + addr = Long.parseLong(failedData.get(6)); + pid = Integer.parseInt(failedData.get(3)); + time = Long.parseLong(failedData.get(1)); + break; + case AnalyzerConstants.TYPE_TABLE_LEAK: + List leakData = tableData.getData(); + addr = Long.parseLong(leakData.get(8)); + pid = Integer.parseInt(leakData.get(1)); + time = Long.parseLong(leakData.get(4)); + break; + case AnalyzerConstants.TYPE_TABLE_WARNING: + data = tableData.getLogData(); + ProbeCommonData pData = (ProbeCommonData)data; + addr = pData.getCallerPcAddr(); + pid = data.getPid(); + time = data.getTime(); + break; + case AnalyzerConstants.TYPE_TABLE_CALLTRACE: + data = tableData.getLogData(); + if (data instanceof UserFunctionData) { + addr = ((UserFunctionData) data).getCallerPcAddr(); + } else if (data instanceof ProfileData) { + addr = ((ProfileData) data).getPcAddr(); } - addr = AnalyzerManager.getCallstackManager().getPCAddrBySeq(seqNum); + pid = data.getPid(); + time = data.getTime(); + break; + default: // normal + data = tableData.getLogData(); + ProbeCommonData wData = (ProbeCommonData)data; + addr = wData.getCallerPcAddr(); + pid = data.getPid(); + time = data.getTime(); + } + + // BinaryInfo binInfo = AnalyzerUtil.getBinaryInfo(pid, time); + ProcessInfoPackage processInfoPkg = AnalyzerManager.getProject() + .getProcessInfo(pid); + ProcessInfo processInfo = processInfoPkg.getProcessInfo(time); + BinaryInfo binInfo = processInfo.getTargetBinary(addr); + if (binInfo == null) { + SourceLine sl = new SourceLine(); + sl.setError(AnalyzerConstants.SOURCELINE_NO_SOURCELINE_DATA); + return sl; } - - - boolean isPieBuild = AnalyzerUtil.isPieBuild(data.getPid()); - String baseAddr = Long.toString(AnalyzerManager.getProject().getBaseAddress(data.getPid())); - String path = AnalyzerUtil.getBinaryPath(data.getPid()); + isPieBuild = (binInfo.getType() == 1) ? true : false; + + String baseAddr = Long.toString(AnalyzerManager.getProject() + .getBaseAddress(pid, time)); + String path = binInfo.getSourceBinaryPath(); SourceLine sl = SymbolManager.addr2line(path, addr, isPieBuild, baseAddr); return sl; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogCenterConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogCenterConstants.java index 034e0cb..10f5b93 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogCenterConstants.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogCenterConstants.java @@ -26,7 +26,7 @@ package org.tizen.dynamicanalyzer.logparser; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; +import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; public class LogCenterConstants { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java index 75e31b6..ea96d2f 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java @@ -34,8 +34,8 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.sql.SqlManager; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; import org.tizen.dynamicanalyzer.swap.logparser.Logs; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; /** log insert into database **/ public class LogInserter implements Runnable { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogListQueue.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogListQueue.java index a6f1bfe..457fc7a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogListQueue.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogListQueue.java @@ -30,7 +30,7 @@ import java.util.ArrayList; import java.util.List; import org.tizen.dynamicanalyzer.common.AnalyzerManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class LogListQueue { private List> data = null; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogParser.java index d9d5041..e00e616 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogParser.java @@ -37,16 +37,16 @@ import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.model.ImageInfo; import org.tizen.dynamicanalyzer.nl.InformationViewLabels; import org.tizen.dynamicanalyzer.project.Project; +import org.tizen.dynamicanalyzer.swap.channel.data.ApiNameManager; +import org.tizen.dynamicanalyzer.swap.channel.data.BasicDataMessage; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; -import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager; -import org.tizen.dynamicanalyzer.swap.model.data.BasicDataMessage; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProfileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ScreenShotData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UserFunctionData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; +import org.tizen.dynamicanalyzer.swap.model.data.ScreenShotData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData; import org.tizen.dynamicanalyzer.ui.page.BaseView; import org.tizen.dynamicanalyzer.ui.summary.profiling.FunctionUsageProfiler; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; @@ -62,7 +62,7 @@ public class LogParser implements Runnable { private static boolean dropCallTraceLog = false; private static LogQueue logQueue = null; -// private static boolean isLogParsingComplete = false; + // private static boolean isLogParsingComplete = false; private int SMALL_IMG_WIDTH = 40; private int SMALL_IMG_HEIGHT = 66; @@ -76,7 +76,7 @@ public class LogParser implements Runnable { public static void clear() { stopLogParser(); getLogQueue().clear(); -// isLogParsingComplete = false; + // isLogParsingComplete = false; } public static LogQueue getLogQueue() { @@ -216,133 +216,133 @@ public class LogParser implements Runnable { } private void logSlicing(List logLumb) { -// String[] slicedLog2 = null; -// Project project = AnalyzerManager.getProject(); -// -// int size = logLumb.size(); -// LogPackage logPack = new LogPackage(); -// -// for (int i = 0; i < size; i++) { -// if (logLumb.get(i).isEmpty()) { -// continue; -// } -// String[] input = logLumb.get(i).split(CommonConstants.NEW_LINE); -// -// slicedLog2 = input[0].split(AnalyzerConstants.DATA_PARSING_TOKEN); -// -// BasicDataMessage message = new BasicDataMessage(); -// message.makeData(slicedLog2); -// if (message.getId() == AnalyzerConstants.MSG_DATA_SAMPLE) { -// message.setCallstack(input[1]); -// } -// LogData log = LogDataFactory.createInstance(message); -// int id = log.getId(); -// -// // if (log instanceof SystemData) { -// // testSystemData(input, log); -// // } else if (log instanceof ScreenShotData) { -// // testScreenshotData(input, log); -// // } -// -// if (log instanceof ProbeCommonData) { -// if (-1 == pid) { -// pid = ((ProbeCommonData) log).getPid(); -// } else { -// int p = ((ProbeCommonData) log).getPid(); -// if (pid != p) { -// continue; -// } -// } -// } -// -// // ADJUST TIME -//// long longTime = log.getTime(); -//// DATime startTime = project.getStartTime(); -//// -//// if (0 == startTime.getSec() && 0 == startTime.getNano()) { -//// long sec = longTime / 10000; -//// long nano = longTime % 10000; -//// nano *= 100000; -//// startTime.setSec(sec); -//// startTime.setNano(nano); -//// project.setStartTime(startTime); -//// } -//// long lastTime = longTime - startTime; -//// lastTime *= 100; -//// log.setTime(lastTime); -// -// int seqNum = log.getSeq(); -// if (log instanceof UserFunctionData) { -// UserFunctionData ufData = (UserFunctionData) log; -// String apiName = ufData.getApiName(); -// if (null == apiName || apiName.isEmpty() -// || apiName.equals("_end")) { //$NON-NLS-1$ -// setFuncName(ufData); -// } -// -// if (LogParser.isDrapCallTraceLog()) { -// apiName = ufData.getApiName(); -// if (!apiName.equals(OSP_MAIN)) { -// continue; -// } -// LogParser.setDropCallTraceLog(false); -// } -// long binaryStartAddr = ufData.getLowPc(); -// long binaryEndAddr = ufData.getHighPc(); -// -// if (binaryStartAddr > 0 && binaryEndAddr > 0 -// && !AnalyzerManager.isBinStartEndSet()) { -// AnalyzerManager.setBinaryStartEndAddr(binaryStartAddr, -// binaryEndAddr); -// } -// -// if (AnalyzerManager.getCallstackManager().isIrregularUserCall( -// ufData)) { -// continue; -// } -// pushLog(log, message, logPack); -// /* user callstack create by entry and exit */ -// AnalyzerManager.getCallstackManager().makeUserCallstack( -// ufData, -// FunctionUsageProfiler.getInstance() -// .getProfileDataMaker()); -// } else if (log instanceof SystemData) { -// if (seqNum == 1) { -// UIRecorderPlayThread rp = UIRecorderTool.getInstance() -// .getPlayThead(); -// if (null != rp && rp.isAlive()) { -// UIRecorderTool.getInstance().getPlayThead().interrupt(); -// } -// } -// pushLog(log, message, logPack); -// } else if (log instanceof ProfileData) { -// pushLog(log, message, logPack); -// } else { -// if (log instanceof ScreenShotData) { -// String remoteImgPath = ((ScreenShotData) log) -// .getImageFilePath(); -// String rotate = Integer.toString(((ScreenShotData) log) -// .getOrientation()); -// // TODO : fix -// processImage(remoteImgPath, rotate); -// } -// pushLog(log, message, logPack); -// AnalyzerManager.getCallstackManager() -// .makeCallstackWithoutBacktrace(log); -// if (id == AnalyzerConstants.MSG_PROBE_FILE -// || id == AnalyzerConstants.MSG_PROBE_MEMORY) { -// AnalyzerManager.getLeakDetector().runLeakDectect(log); -// } -// -// AnalyzerManager.getFailedChecker().check(log, -// AnalyzerManager.getCallstackManager()); -// } -// -// // set last log number -// AnalyzerManager.getProject().setLastLogNum(seqNum, id); -// } -// -// updateLog(logPack); + // String[] slicedLog2 = null; + // Project project = AnalyzerManager.getProject(); + // + // int size = logLumb.size(); + // LogPackage logPack = new LogPackage(); + // + // for (int i = 0; i < size; i++) { + // if (logLumb.get(i).isEmpty()) { + // continue; + // } + // String[] input = logLumb.get(i).split(CommonConstants.NEW_LINE); + // + // slicedLog2 = input[0].split(AnalyzerConstants.DATA_PARSING_TOKEN); + // + // BasicDataMessage message = new BasicDataMessage(); + // message.makeData(slicedLog2); + // if (message.getId() == AnalyzerConstants.MSG_DATA_SAMPLE) { + // message.setCallstack(input[1]); + // } + // LogData log = LogDataFactory.createInstance(message); + // int id = log.getId(); + // + // // if (log instanceof SystemData) { + // // testSystemData(input, log); + // // } else if (log instanceof ScreenShotData) { + // // testScreenshotData(input, log); + // // } + // + // if (log instanceof ProbeCommonData) { + // if (-1 == pid) { + // pid = ((ProbeCommonData) log).getPid(); + // } else { + // int p = ((ProbeCommonData) log).getPid(); + // if (pid != p) { + // continue; + // } + // } + // } + // + // // ADJUST TIME + // // long longTime = log.getTime(); + // // DATime startTime = project.getStartTime(); + // // + // // if (0 == startTime.getSec() && 0 == startTime.getNano()) { + // // long sec = longTime / 10000; + // // long nano = longTime % 10000; + // // nano *= 100000; + // // startTime.setSec(sec); + // // startTime.setNano(nano); + // // project.setStartTime(startTime); + // // } + // // long lastTime = longTime - startTime; + // // lastTime *= 100; + // // log.setTime(lastTime); + // + // int seqNum = log.getSeq(); + // if (log instanceof UserFunctionData) { + // UserFunctionData ufData = (UserFunctionData) log; + // String apiName = ufData.getApiName(); + // if (null == apiName || apiName.isEmpty() + // || apiName.equals("_end")) { //$NON-NLS-1$ + // setFuncName(ufData); + // } + // + // if (LogParser.isDrapCallTraceLog()) { + // apiName = ufData.getApiName(); + // if (!apiName.equals(OSP_MAIN)) { + // continue; + // } + // LogParser.setDropCallTraceLog(false); + // } + // long binaryStartAddr = ufData.getLowPc(); + // long binaryEndAddr = ufData.getHighPc(); + // + // if (binaryStartAddr > 0 && binaryEndAddr > 0 + // && !AnalyzerManager.isBinStartEndSet()) { + // AnalyzerManager.setBinaryStartEndAddr(binaryStartAddr, + // binaryEndAddr); + // } + // + // if (AnalyzerManager.getCallstackManager().isIrregularUserCall( + // ufData)) { + // continue; + // } + // pushLog(log, message, logPack); + // /* user callstack create by entry and exit */ + // AnalyzerManager.getCallstackManager().makeUserCallstack( + // ufData, + // FunctionUsageProfiler.getInstance() + // .getProfileDataMaker()); + // } else if (log instanceof SystemData) { + // if (seqNum == 1) { + // UIRecorderPlayThread rp = UIRecorderTool.getInstance() + // .getPlayThead(); + // if (null != rp && rp.isAlive()) { + // UIRecorderTool.getInstance().getPlayThead().interrupt(); + // } + // } + // pushLog(log, message, logPack); + // } else if (log instanceof ProfileData) { + // pushLog(log, message, logPack); + // } else { + // if (log instanceof ScreenShotData) { + // String remoteImgPath = ((ScreenShotData) log) + // .getImageFilePath(); + // String rotate = Integer.toString(((ScreenShotData) log) + // .getOrientation()); + // // TODO : fix + // processImage(remoteImgPath, rotate); + // } + // pushLog(log, message, logPack); + // AnalyzerManager.getCallstackManager() + // .makeCallstackWithoutBacktrace(log); + // if (id == AnalyzerConstants.MSG_PROBE_FILE + // || id == AnalyzerConstants.MSG_PROBE_MEMORY) { + // AnalyzerManager.getLeakDetector().runLeakDectect(log); + // } + // + // AnalyzerManager.getFailedChecker().check(log, + // AnalyzerManager.getCallstackManager()); + // } + // + // // set last log number + // AnalyzerManager.getProject().setLastLogNum(seqNum, id); + // } + // + // updateLog(logPack); } private void processImage(final String from, String rotate) { @@ -418,11 +418,13 @@ public class LogParser implements Runnable { } private void setFuncName(UserFunctionData input) { - boolean isPieBuild = AnalyzerUtil.isPieBuild(input.getPid()); + boolean isPieBuild = AnalyzerUtil.isPieBuild(input.getPid(), + input.getTime()); String baseAddr = Long.toString(AnalyzerManager.getProject() - .getBaseAddress(input.getPid())); -// String path = AnalyzerManager.getProject().getBinaryPath(); - String path = DACommunicator.getSelectedApp().getBinInfo().getLocalBinaryPath(); + .getBaseAddress(input.getPid(), input.getTime())); + // String path = AnalyzerManager.getProject().getBinaryPath(); + String path = AnalyzerUtil.getBinarySourcePath(input.getPid(), + input.getTime()); String pcAddr = Long.toString(input.getPcAddr()); String functionName = SymbolManager.addr2func(path, pcAddr, isPieBuild, baseAddr); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java index 8908dce..05fcb7d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java @@ -42,8 +42,8 @@ import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.handlers.StopHandler; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; import org.tizen.dynamicanalyzer.project.Project; -import org.tizen.dynamicanalyzer.swap.model.control.TargetInfo; -import org.tizen.dynamicanalyzer.swap.model.data.ProcessInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.TargetInfo; +import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo; import org.tizen.dynamicanalyzer.ui.toolbar.StopLogProcessor; import org.tizen.dynamicanalyzer.ui.toolbar.StopProcessManager; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DAView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DAView.java index ef06ce5..25a19b8 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DAView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DAView.java @@ -31,7 +31,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.page.ViewAction; public class DAView extends Composite implements ViewAction { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java index de22adc..0556daa 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DeviceInfo.java @@ -36,8 +36,8 @@ import org.tizen.dynamicanalyzer.communicator.BaseCommunicator; import org.tizen.dynamicanalyzer.communicator.Communicator22; import org.tizen.dynamicanalyzer.communicator.CommunicatorUtils; import org.tizen.dynamicanalyzer.project.PackageInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.TargetInfo; import org.tizen.dynamicanalyzer.swap.communicator.Communicator30; -import org.tizen.dynamicanalyzer.swap.model.control.TargetInfo; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; import org.tizen.sdblib.IDevice; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.java index 5a8cbe9..b7c609f 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.java @@ -27,6 +27,7 @@ public class SummaryLabels extends NLS { public static String FAILED_API_LIST_VIEW_TITLE; public static String FAILED_API_LIST_VIEW_INDEX; public static String FAILED_API_LIST_VIEW_NAME; + public static String FAILED_API_LIST_VIEW_PID; public static String FAILED_API_LIST_VIEW_PARAMETER; public static String FAILED_API_LIST_VIEW_RETURN; public static String FAILED_API_LIST_VIEW_TIME; @@ -58,6 +59,7 @@ public class SummaryLabels extends NLS { public static String WARNING_LIST_VIEW_TITLE; public static String WARNING_LIST_VIEW_CATEGORY; + public static String WARNING_LIST_VIEW_PID; public static String WARNING_LIST_VIEW_INDEX; public static String WARNING_LIST_VIEW_WARNING_MESSAGE; public static String WARNING_TABLE_FILE; @@ -76,6 +78,7 @@ public class SummaryLabels extends NLS { public static String LEAK_VIEW_FILE_PARAMETER; public static String LEAK_VIEW_INDEX; public static String LEAK_VIEW_NAME; + public static String LEAK_VIEW_PID; public static String LEAK_VIEW_RETURN; public static String LEAK_VIEW_TIME; public static String LEAK_VIEW_TYPE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.properties b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.properties index 1494b22..8b9d4cc 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.properties +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/SummaryLabels.properties @@ -1,6 +1,7 @@ FAILED_API_LIST_VIEW_TITLE=Failed API FAILED_API_LIST_VIEW_INDEX=\# -FAILED_API_LIST_VIEW_NAME=Name +FAILED_API_LIST_VIEW_NAME=API +FAILED_API_LIST_VIEW_PID=PID FAILED_API_LIST_VIEW_PARAMETER=Parameter FAILED_API_LIST_VIEW_RETURN=Return value FAILED_API_LIST_VIEW_TIME=Time @@ -32,6 +33,7 @@ WARNING_CASE_PRE_FIX=< WARNING_LIST_VIEW_TITLE=Warning List WARNING_LIST_VIEW_CATEGORY=Category +WARNING_LIST_VIEW_PID=PID WARNING_LIST_VIEW_INDEX=\# WARNING_LIST_VIEW_WARNING_MESSAGE=Warning WARNING_TABLE_FILE=File @@ -50,9 +52,10 @@ LEAK_VIEW_TITLE_LEAK=Leaks LEAK_VIEW_FILE_PARAMETER=File/parameter LEAK_VIEW_INDEX=\# LEAK_VIEW_NAME=API +LEAK_VIEW_PID=PID LEAK_VIEW_RETURN=Return value LEAK_VIEW_TIME=Time -LEAK_VIEW_TYPE=Leak type +LEAK_VIEW_TYPE=Category SUMMARY_PAGE_CALLSTACK_TITLE=Callstack SUMMARY_PAGE_SNAPSHOT_TITLE=Snapshot diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/PackageInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/PackageInfo.java index 86af006..23d2d40 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/PackageInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/PackageInfo.java @@ -33,8 +33,9 @@ import java.util.List; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.common.ElfSymbolExtracter; import org.tizen.dynamicanalyzer.model.AddrSymbolPair; -import org.tizen.dynamicanalyzer.swap.model.control.ApplicationInfo; -import org.tizen.dynamicanalyzer.swap.model.control.BinaryInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.ApplicationInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo; +import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; public class PackageInfo { @@ -56,7 +57,8 @@ public class PackageInfo { public static final String FLAG_ZERO = "0";//$NON-NLS-1$ public static final String FLAG_ONE = "1";//$NON-NLS-1$ - private BinaryInfo binInfo = null; + // private BinaryInfo binInfo = null; + private String mainTargetKey = null; private HashMap binaryInfoMap = new HashMap(); private String installTime = null; @@ -88,20 +90,21 @@ public class PackageInfo { return appInfo.get(index); } - public BinaryInfo getBinInfo() { - return binInfo; - } + // public BinaryInfo getBinInfo() { + // return binInfo; + // } - public void setBinInfo(BinaryInfo binInfo) { - this.binInfo = binInfo; - } + // public void setBinInfo(BinaryInfo binInfo) { + // this.binInfo = binInfo; + // } - public List getSymbols() { - if (null == binInfo) { + public List getSymbols(String sourceBinaryPath) { + if (null == sourceBinaryPath || sourceBinaryPath.isEmpty()) { return null; } symbolExtractor.clear(); - symbolExtractor.makeSymbol(binInfo.getLocalBinaryPath()); + // symbolExtractor.makeSymbol(binInfo.getSourceBinaryPath()); + symbolExtractor.makeSymbol(sourceBinaryPath); return symbolExtractor.getAddrSymbolPairs(); } @@ -123,4 +126,18 @@ public class PackageInfo { return binaryInfoMap; } + public BinaryInfo getBinaryInfo(String targetBinPath) { + BinaryInfo ret = binaryInfoMap.get(targetBinPath); + return ret; + } + + public BinaryInfo getMainBinaryInfo() { + return binaryInfoMap.get(mainTargetKey); + } + + public void setMainBinaryInfo(BinaryInfo binInfo) { + mainTargetKey = AnalyzerUtil.getTargetPathKey(binInfo + .getTargetBinaryPath()); + binaryInfoMap.put(mainTargetKey, binInfo); + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java index 8433087..0bd252a 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java @@ -41,11 +41,12 @@ import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.handlers.ReplayTraceHandler; import org.tizen.dynamicanalyzer.model.DeviceInfo; import org.tizen.dynamicanalyzer.sql.SqlManager; +import org.tizen.dynamicanalyzer.swap.channel.control.TargetInfo; +import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; +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.swap.model.DATime; -import org.tizen.dynamicanalyzer.swap.model.control.TargetInfo; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.data.ProcessInfo; import org.tizen.dynamicanalyzer.ui.summary.profiling.FunctionUsageProfiler; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; @@ -66,18 +67,6 @@ public class Project { private static final int INDEX_SAVE_PATH = 11; private static final int INDEX_MAIN_PID = 12; - // public static final String APP_NAME = "AppName"; - // public static final String CREATE_TIME = "CreateTime"; - // public static final String SAVE_PATH = "SavePath"; - // public static final String LOG_NUMS = "LastLogs"; - // public static final String SAVE_VERSION = "Version"; - // public static final String PACKAGE_ID = "pkgID"; - // public static final String DEVICE = "Device"; - // public static final String LAST_TIME = "LastTime"; - // public static final String STOP_TIME = "StopTime"; - - // public static final int COLUMN_SIZE = 8; - private final static int MAX_FILENAME_LENGTH = 50; private final String DEFAULT_TIME_FORMAT = "_yyyy-MM-dd-HH-mm-ss";//$NON-NLS-1$ @@ -101,7 +90,7 @@ public class Project { private byte[] replayEvent = null; - private HashMap processInfoHash = new HashMap(); + private HashMap processInfoPackHash = new HashMap(); public TargetInfo getTargetInfo() { TargetInfo targetInfo = DACommunicator.getSelectedDevice() @@ -113,9 +102,9 @@ public class Project { DACommunicator.getSelectedDevice().setTargetInfo(targetInfo); } - public ProcessInfo getProcessInfo(int pid) { - ProcessInfo processInfo = processInfoHash.get(pid); - return processInfo; + public ProcessInfoPackage getProcessInfo(int pid) { + ProcessInfoPackage processInfoPkg = processInfoPackHash.get(pid); + return processInfoPkg; } public void setCoreCount(int count) { @@ -272,8 +261,6 @@ public class Project { AnalyzerManager.setProject(this); // create table - // SqlManager.getInstance().createProjectTable(this); - // create save tables SqlManager.getInstance().createTables(); SqlManager.getInstance().createProbeTable(); @@ -317,13 +304,15 @@ public class Project { return true; } - public long getBaseAddress(int pid) { - ProcessInfo processInfo = processInfoHash.get(pid); + public long getBaseAddress(int pid, long time) { + ProcessInfoPackage pInfoPack = processInfoPackHash.get(pid); + ProcessInfo processInfo = pInfoPack.getProcessInfo(time); return processInfo.getLowestAddress(); } - public long getHighestAddress(int pid) { - ProcessInfo processInfo = processInfoHash.get(pid); + public long getHighestAddress(int pid, long time) { + ProcessInfoPackage pInfoPack = processInfoPackHash.get(pid); + ProcessInfo processInfo = pInfoPack.getProcessInfo(time); return processInfo.getHighestAddress(); } @@ -341,8 +330,8 @@ public class Project { return replayEvent; } - public HashMap getProcessInfoHash() { - return processInfoHash; + public HashMap getProcessInfoPackHash() { + return processInfoPackHash; } public int getMainPid() { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/DBTableManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/DBTableManager.java index 5b01933..336ee96 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/DBTableManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/DBTableManager.java @@ -184,10 +184,10 @@ public class DBTableManager { // "callstack units" table info block { String[] names = { CUSTOM_COLUMN_ADDR, CUSTOM_COLUMN_API, - COMMON_COLUMN_PID }; - String[] options = { "not null", EMPTY, - ",PRIMARY KEY(" + CUSTOM_COLUMN_ADDR + ")" }; - String[] types = { TEXT, TEXT, "VARCHAR(512)" }; + COMMON_COLUMN_PID, COMMON_COLUMN_TIME }; + String[] options = { "not null", EMPTY, EMPTY, + ", PRIMARY KEY(" + CUSTOM_COLUMN_ADDR + ")" }; + String[] types = { TEXT, TEXT, "VARCHAR(512)", TEXT }; DBTableInfo callstackUnitsTableInfo = new DBTableInfo( TABLE_NAME_CALLSTACK_UNITS, names, options, types); tableInfos @@ -289,10 +289,11 @@ public class DBTableManager { // library object { - String[] names = { COMMON_COLUMN_PID, LIBRARY_OBJECT_LOW_ADDR, - LIBRARY_OBJECT_HIGH_ADDR, LIBRARY_OBJECT_PATH }; - String[] options = { EMPTY, EMPTY, EMPTY, EMPTY }; - String[] types = { TEXT, TEXT, TEXT, TEXT }; + String[] names = { COMMON_COLUMN_PID, COMMON_COLUMN_TIME, + LIBRARY_OBJECT_LOW_ADDR, LIBRARY_OBJECT_HIGH_ADDR, + LIBRARY_OBJECT_PATH }; + String[] options = { EMPTY, EMPTY, EMPTY, EMPTY, EMPTY }; + String[] types = { TEXT, TEXT, TEXT, TEXT, TEXT }; DBTableInfo libObjTableInfo = new DBTableInfo(TABLE_NAME_LIB_OBJ, names, options, types); tableInfos.set(TABLE_INDEX_LIB_OBJ, libObjTableInfo); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java index b8d06df..c1d65ba 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java @@ -47,17 +47,18 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.project.Project; +import org.tizen.dynamicanalyzer.swap.channel.control.TargetInfo; +import org.tizen.dynamicanalyzer.swap.channel.data.ApiNameManager; +import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; +import org.tizen.dynamicanalyzer.swap.channel.data.LibraryObject; +import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo; +import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfoPackage; import org.tizen.dynamicanalyzer.swap.model.RecordEventObject; -import org.tizen.dynamicanalyzer.swap.model.control.TargetInfo; -import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.data.LibraryObject; -import org.tizen.dynamicanalyzer.swap.model.data.ProcessInfo; -import org.tizen.dynamicanalyzer.swap.model.probe.LogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.ReplayLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; -import org.tizen.dynamicanalyzer.swap.model.probe2.ReplayData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.ReplayData; +import org.tizen.dynamicanalyzer.swap.model.format.LogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.ReplayLogFormat; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackUnit; import org.tizen.dynamicanalyzer.ui.summary.failed.FailedChecker; @@ -261,47 +262,6 @@ public class SqlManager { return query.toString(); } - // public void createProjectTable(Project project) { - // Statement stat = null; - // try { - // Connection conn = getConnection(); - // if (null == conn) { - // return; - // } - // semaphoreAcquire(); - // stat = conn.createStatement(); - // stat.executeUpdate(createDropTableQuery(Project.TABLE_NAME)); //$NON-NLS-1$ - // - // StringBuffer buf = new StringBuffer("create table ").append( - // Project.TABLE_NAME).append(" ("); - // buf.append(Project.APP_NAME).append(SPACE).append(TEXT) - // .append(COMMA); - // buf.append(Project.CREATE_TIME).append(SPACE).append(TEXT) - // .append(COMMA); - // buf.append(Project.SAVE_PATH).append(SPACE).append(TEXT) - // .append(COMMA); - // buf.append(Project.LOG_NUMS).append(SPACE).append(TEXT) - // .append(COMMA); - // buf.append(Project.SAVE_VERSION).append(SPACE).append(TEXT) - // .append(COMMA); - // buf.append(Project.PACKAGE_ID).append(SPACE).append(TEXT) - // .append(COMMA); - // buf.append(Project.DEVICE).append(SPACE).append(TEXT).append(COMMA); - // buf.append(Project.LAST_TIME).append(SPACE).append(TEXT) - // .append(COMMA); - // buf.append(Project.STOP_TIME).append(SPACE).append(TEXT); - // buf.append(CommonConstants.CLOSE_BRACKET).append( - // CommonConstants.SEMICOLON); - // stat.executeUpdate(buf.toString()); - // System.out.println("createProjectTable : " + buf.toString()); - // } catch (SQLException e) { - // e.printStackTrace(); - // } finally { - // AnalyzerUtil.tryClose(stat); - // semaphoreRelease(); - // } - // } - public String createDropTableQuery(String target) { StringBuffer query = new StringBuffer(); query.append("drop table if exists "); //$NON-NLS-1$ TODO @@ -463,21 +423,24 @@ public class SqlManager { public void insertProcessInfo() { DBTableInfo info = DBTableManager.getInstance().getTableInfo( DBTableManager.TABLE_INDEX_PROCESS_INFO); - List processInfoList = new ArrayList(); - processInfoList.addAll(AnalyzerManager.getProject() - .getProcessInfoHash().values()); + List pInfoPackList = new ArrayList(); + pInfoPackList.addAll(AnalyzerManager.getProject() + .getProcessInfoPackHash().values()); - String insertQuery = "insert into " + info.getTableName() + " values (" + info.getQuestionMarks() + ");"; //$NON-NLS-1$ + for (ProcessInfoPackage pip : pInfoPackList) { + List processInfoList = pip.getProcessSnapshots(); + String insertQuery = "insert into " + info.getTableName() + " values (" + info.getQuestionMarks() + ");"; //$NON-NLS-1$ - for (int i = 0; i < processInfoList.size(); i++) { - ProcessInfo pInfo = processInfoList.get(i); - List insetRowData = new ArrayList(); - insetRowData.add(pInfo.getSaveFormat()); - List> insetData = new ArrayList>(); - insetData.add(insetRowData); + for (int i = 0; i < processInfoList.size(); i++) { + ProcessInfo pInfo = processInfoList.get(i); + List insetRowData = new ArrayList(); + insetRowData.add(pInfo.getSaveFormat()); + List> insetData = new ArrayList>(); + insetData.add(insetRowData); - insertQuery(insertQuery, insetData); - insertLibObj(pInfo); + insertQuery(insertQuery, insetData); + insertLibObj(pInfo); + } } } @@ -487,14 +450,16 @@ public class SqlManager { DBTableManager.TABLE_INDEX_LIB_OBJ); String insertQuery = "insert into " + info.getTableName() + " values (" + info.getQuestionMarks() + ");"; //$NON-NLS-1$ String pid = Integer.toString(pInfo.getPid()); + String time = pInfo.getStartTime().getSaveFormat(); List> insetData = new ArrayList>(); for (LibraryObject lib : libs) { - List insetRowData = new ArrayList(); - insetRowData.add(pid); - insetRowData.add(Long.toString(lib.getLowestAddress())); - insetRowData.add(Long.toString(lib.getHighestAddress())); - insetRowData.add(lib.getLibPath()); - insetData.add(insetRowData); + List insertRowData = new ArrayList(); + insertRowData.add(pid); + insertRowData.add(time); + insertRowData.add(Long.toString(lib.getLowestAddress())); + insertRowData.add(Long.toString(lib.getHighestAddress())); + insertRowData.add(lib.getLibPath()); + insetData.add(insertRowData); } insertQuery(insertQuery, insetData); @@ -733,15 +698,17 @@ public class SqlManager { callstackUnits.addAll(callstackMap.values()); int size = callstackUnits.size(); for (int i = 0; i < size; i++) { - List insetRowData = new ArrayList(); + List insertRowData = new ArrayList(); try { CallStackUnit saveData = callstackUnits.get(i); - insetRowData.add(Long.toString(saveData.getAddr())); - insetRowData.add(saveData.getSymbol()); + insertRowData.add(Long.toString(saveData.getAddr())); + insertRowData.add(saveData.getSymbol()); + insertRowData.add(Integer.toString(saveData.getPid())); + insertRowData.add(Long.toString(saveData.getTime())); } catch (ArrayIndexOutOfBoundsException e) { e.printStackTrace(); } - insetData.add(insetRowData); + insetData.add(insertRowData); } insertQuery(insertQuery, insetData); } @@ -1138,14 +1105,14 @@ public class SqlManager { .getTableName(), null); } - public List> loadProcessInfo() { + public List> loadProcessInfo(String option) { return selectQuery( null, DBTableManager.getInstance() .getTableInfo(DBTableManager.TABLE_INDEX_PROCESS_INFO) .getColumnNames(), DBTableManager.getInstance() .getTableInfo(DBTableManager.TABLE_INDEX_PROCESS_INFO) - .getTableName(), null); + .getTableName(), option); } public List> loadLibObj(String option) { @@ -1216,6 +1183,15 @@ public class SqlManager { .getTableName(), null); } + public List getPids() { + List> dbInfo = selectQuery(null, + new String[] { "distinct pid" }, "ProcessInfo", null); + if (null == dbInfo || null == dbInfo.get(0).get(0)) { + return null; + } + return dbInfo.get(0); + } + public List getDetailsInfo(String path) { DBTableInfo projectInfo = DBTableManager.getInstance().getTableInfo( DBTableManager.TABLE_INDEX_PROJECT); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/BaseCallstackManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/BaseCallstackManager.java index c2226d2..67e7205 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/BaseCallstackManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/BaseCallstackManager.java @@ -34,7 +34,7 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.project.PackageInfo; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackUnit; import org.tizen.dynamicanalyzer.ui.summary.profiling.ProfileDataMaker; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/SWAPCallStackManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/SWAPCallStackManager.java index 184f4f9..08e3621 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/SWAPCallStackManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/callstack/SWAPCallStackManager.java @@ -27,8 +27,8 @@ package org.tizen.dynamicanalyzer.swap.callstack; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_FUNCTION_ENTRY; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_FUNCTION_EXIT; +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 java.util.ArrayList; import java.util.HashMap; @@ -39,9 +39,10 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.SymbolManager; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProfileData; +import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackUnit; import org.tizen.dynamicanalyzer.ui.summary.profiling.ProfileDataMaker; @@ -52,13 +53,13 @@ public class SWAPCallStackManager extends BaseCallstackManager { public void makeUserCallstack(LogData input, ProfileDataMaker profiler) { ProfileData log = (ProfileData) input; HashMap addrMap = getCallStackApiByAddrMap(); - boolean isPieBuild = AnalyzerUtil.isPieBuild(log.getPid()); + boolean isPieBuild = AnalyzerUtil.isPieBuild(log.getPid(), + log.getTime()); String baseAddr = Long.toString(AnalyzerManager.getProject() - .getBaseAddress(log.getPid())); - // String binPath = AnalyzerManager.getProject().getBinaryPath(); - String binPath = DACommunicator.getSelectedApp().getBinInfo() - .getLocalBinaryPath(); - if (null == binPath || binPath.isEmpty()) { + .getBaseAddress(log.getPid(), log.getTime())); + String sourceBinPath = AnalyzerUtil.getBinarySourcePath(input.getPid(), + input.getTime()); + if (null == sourceBinPath || sourceBinPath.isEmpty()) { return; } String strSelfAddr = Long.toString(log.getPcAddr()); @@ -74,13 +75,12 @@ public class SWAPCallStackManager extends BaseCallstackManager { CallStackUnit selfCallstackUnit = addrMap.get(selfAddr); if (null == selfCallstackUnit) { - String strSelfFuncName = SymbolManager.addr2func(binPath, + String strSelfFuncName = SymbolManager.addr2func(sourceBinPath, strSelfAddr, isPieBuild, baseAddr); String strSelfSymbol = getUserFunctionPosition() + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strSelfFuncName; - selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol, - log.getPid()); + selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol, log); addrMap.put(selfAddr, selfCallstackUnit); } @@ -92,13 +92,13 @@ public class SWAPCallStackManager extends BaseCallstackManager { CallStackUnit callerCallstackUnit = addrMap.get(callerAddr); if (null == callerCallstackUnit) { - String strCallerFuncName = SymbolManager.addr2func(binPath, + String strCallerFuncName = SymbolManager.addr2func(sourceBinPath, strCallerAddr, isPieBuild, baseAddr); String strCallerSymbol = getUserFunctionPosition() + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strCallerFuncName; callerCallstackUnit = new CallStackUnit(callerAddr, - strCallerSymbol, log.getPid()); + strCallerSymbol, log); addrMap.put(callerAddr, callerCallstackUnit); } @@ -111,14 +111,14 @@ public class SWAPCallStackManager extends BaseCallstackManager { CallStackUnit callbackApi = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); userCallstack.add(callbackApi); if (addrMap .get(LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR) == null) { CallStackUnit defaultCallstackUnit = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); addrMap.put( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, defaultCallstackUnit); @@ -128,14 +128,14 @@ public class SWAPCallStackManager extends BaseCallstackManager { CallStackUnit callbackApi = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); userCallstack.add(callbackApi); if (addrMap .get(LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR) == null) { CallStackUnit defaultCallstackUnit = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); addrMap.put( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, defaultCallstackUnit); @@ -221,10 +221,12 @@ public class SWAPCallStackManager extends BaseCallstackManager { public void makeCallstackWithoutBacktrace(LogData inputData) { ProbeCommonData log = (ProbeCommonData) inputData; HashMap addrMap = getCallStackApiByAddrMap(); - boolean isPieBuild = AnalyzerUtil.isPieBuild(log.getPid()); + boolean isPieBuild = AnalyzerUtil.isPieBuild(log.getPid(), + log.getTime()); String baseAddr = Long.toString(AnalyzerManager.getProject() - .getBaseAddress(log.getPid())); - String binPath = AnalyzerUtil.getBinaryPath(log.getPid()); + .getBaseAddress(log.getPid(), log.getTime())); + String binPath = AnalyzerUtil.getProcessLocalBinaryPath(log.getPid(), + log.getTime()); if (null == binPath || binPath.isEmpty()) { return; } @@ -258,15 +260,14 @@ public class SWAPCallStackManager extends BaseCallstackManager { if ((size == 0) || (!AnalyzerManager.isInBinaryRange(callerAddr))) { CallStackUnit callbackApi = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, - LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, log); probeCallstack.add(callbackApi); if (addrMap .get(LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR) == null) { CallStackUnit defaultCallstackUnit = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); addrMap.put( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, defaultCallstackUnit); @@ -280,7 +281,7 @@ public class SWAPCallStackManager extends BaseCallstackManager { + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strCallerFuncName; callerCallstackUnit = new CallStackUnit(callerAddr, - strCallerSymbol, log.getPid()); + strCallerSymbol, log); addrMap.put(callerAddr, callerCallstackUnit); } @@ -308,13 +309,13 @@ public class SWAPCallStackManager extends BaseCallstackManager { HashMap addrMap = getCallStackApiByAddrMap(); HashMap dupUserCallMap = getDupUserCallByTidMap(); - boolean isPieBuild = AnalyzerUtil.isPieBuild(input.getPid()); + boolean isPieBuild = AnalyzerUtil.isPieBuild(input.getPid(), + input.getTime()); String baseAddr = Long.toString(AnalyzerManager.getProject() - .getBaseAddress(input.getPid())); - // String binPath = AnalyzerManager.getProject().getBinaryPath(); - String binPath = DACommunicator.getSelectedApp().getBinInfo() - .getLocalBinaryPath(); - if (null == binPath || binPath.isEmpty()) { + .getBaseAddress(input.getPid(), log.getTime())); + String sourceBinPath = AnalyzerUtil.getBinarySourcePath(input.getPid(), + input.getTime()); + if (null == sourceBinPath || sourceBinPath.isEmpty()) { return false; } @@ -326,13 +327,12 @@ public class SWAPCallStackManager extends BaseCallstackManager { CallStackUnit selfCallstackUnit = addrMap.get(selfAddr); if (null == selfCallstackUnit) { - String strSelfFuncName = SymbolManager.addr2func(binPath, + String strSelfFuncName = SymbolManager.addr2func(sourceBinPath, strSelfAddr, isPieBuild, baseAddr); String strSelfSymbol = getUserFunctionPosition() + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strSelfFuncName; - selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol, - log.getPid()); + selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol, log); addrMap.put(selfAddr, selfCallstackUnit); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ApplicationInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ApplicationInfo.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ApplicationInfo.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ApplicationInfo.java index 19adc9b..03f56c4 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ApplicationInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ApplicationInfo.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.SWAPModel; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ApplicationInst.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ApplicationInst.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ApplicationInst.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ApplicationInst.java index af14a09..a821130 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ApplicationInst.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ApplicationInst.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import java.util.ArrayList; import java.util.List; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/BasicMessage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/BasicMessage.java similarity index 96% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/BasicMessage.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/BasicMessage.java index a305e7d..8bd695e 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/BasicMessage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/BasicMessage.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.SWAPModel; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/BinaryInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/BinaryInfo.java similarity index 87% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/BinaryInfo.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/BinaryInfo.java index e921c85..a71279c 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/BinaryInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/BinaryInfo.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.SWAPModel; @@ -32,6 +32,7 @@ public class BinaryInfo implements SWAPModel { private int type = 0; private String targetBinaryPath = null; private String localBinaryPath = null; + private String tempBinaryPath = null; private String md5sumValue = null; public int getType() { @@ -50,6 +51,14 @@ public class BinaryInfo implements SWAPModel { this.localBinaryPath = path; } + public String getSourceBinaryPath() { + return this.tempBinaryPath; + } + + public void setSourceBinaryPath(String tempPath) { + this.tempBinaryPath = tempPath; + } + public String getMd5sumValue() { return md5sumValue; } @@ -76,5 +85,5 @@ public class BinaryInfo implements SWAPModel { // TODO Auto-generated method stub } - + } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/EventObject.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/EventObject.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/EventObject.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/EventObject.java index b3ed2e8..fff17e3 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/EventObject.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/EventObject.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.SWAPModel; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/FunctionInst.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/FunctionInst.java similarity index 96% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/FunctionInst.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/FunctionInst.java index b4051e1..fb0296a 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/FunctionInst.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/FunctionInst.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.SWAPModel; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/LibraryInst.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/LibraryInst.java similarity index 96% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/LibraryInst.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/LibraryInst.java index a6f8cbd..911aeda 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/LibraryInst.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/LibraryInst.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import java.util.List; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ReplayEvent.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ReplayEvent.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ReplayEvent.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ReplayEvent.java index cd72721..0bfc648 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/ReplayEvent.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/ReplayEvent.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import java.util.ArrayList; import java.util.List; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/RunTimeConfiguration.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/RunTimeConfiguration.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/RunTimeConfiguration.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/RunTimeConfiguration.java index 0350b8b..5e1aa22 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/RunTimeConfiguration.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/RunTimeConfiguration.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.SWAPModel; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/TargetInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/TargetInfo.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/TargetInfo.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/TargetInfo.java index 825e68e..758ac06 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/TargetInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/TargetInfo.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import java.util.List; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/UserSpaceInst.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/UserSpaceInst.java similarity index 96% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/UserSpaceInst.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/UserSpaceInst.java index ffd2b76..beb07a6 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/control/UserSpaceInst.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/control/UserSpaceInst.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.control; +package org.tizen.dynamicanalyzer.swap.channel.control; import java.util.ArrayList; import java.util.List; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ApiNameManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ApiNameManager.java similarity index 96% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ApiNameManager.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ApiNameManager.java index 0c3f4d7..7808df9 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ApiNameManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ApiNameManager.java @@ -24,7 +24,7 @@ * */ -package org.tizen.dynamicanalyzer.swap.model.data; +package org.tizen.dynamicanalyzer.swap.channel.data; import java.util.List; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/BasicDataMessage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/BasicDataMessage.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/BasicDataMessage.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/BasicDataMessage.java index 6b53dc0..0e3a9a3 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/BasicDataMessage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/BasicDataMessage.java @@ -23,14 +23,14 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.data; +package org.tizen.dynamicanalyzer.swap.channel.data; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.DATime; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; public class BasicDataMessage { public static final int INT_SIZE = CommonConstants.INT_SIZE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/DataChannelConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/DataChannelConstants.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/DataChannelConstants.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/DataChannelConstants.java index b7ef1fa..67eb70d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/DataChannelConstants.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/DataChannelConstants.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.data; +package org.tizen.dynamicanalyzer.swap.channel.data; public class DataChannelConstants { public static final int BUFFER_SIZE = 1024; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LibraryObject.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/LibraryObject.java similarity index 96% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LibraryObject.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/LibraryObject.java index 8a2b1ae..b1f4dbe 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LibraryObject.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/LibraryObject.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.data; +package org.tizen.dynamicanalyzer.swap.channel.data; public class LibraryObject { private long lowestAddress = -1; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProcessInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfo.java similarity index 65% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProcessInfo.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfo.java index b28548d..80df759 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProcessInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfo.java @@ -23,22 +23,25 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.data; +package org.tizen.dynamicanalyzer.swap.channel.data; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.tizen.dynamicanalyzer.common.CommonConstants; +import org.tizen.dynamicanalyzer.communicator.DACommunicator; +import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo; import org.tizen.dynamicanalyzer.swap.model.DATime; +import org.tizen.dynamicanalyzer.swap.platform.BinarySettingManager; public class ProcessInfo { private int pid = -1; // save key - libOnjects private int ppid = -1; - DATime startTime = new DATime(); + private DATime startTime = new DATime(); private long lowestAddress = 0; private long highestAddress = 0; - private String binaryPath = null; + private String targetBinaryPath = null; private int depLibCount = 0; private List libObjs = new ArrayList(); private HashMap libObjHash = new HashMap(); @@ -83,12 +86,48 @@ public class ProcessInfo { this.highestAddress = highestAddress; } - public String getBinaryPath() { - return binaryPath; + public String getMainTargetBinaryPath() { + return targetBinaryPath; } - public void setBinaryPath(String binaryPath) { - this.binaryPath = binaryPath; + public BinaryInfo getTargetBinary(long pcAddr) { + + BinaryInfo binInfo = null; + if (pcAddr >= getLowestAddress() && pcAddr <= getHighestAddress()) { + binInfo = DACommunicator.getSelectedApp().getMainBinaryInfo(); + } else { + HashMap binInfoMap = BinarySettingManager + .getInstance().getTargetBinInfoMap(); + List binPaths = new ArrayList(); + binPaths.addAll(binInfoMap.keySet()); + + HashMap libHash = getLibObjHash(); + LibraryObject libraryObject = null; + int size = binPaths.size(); + for (int i = 0; i < size; i++) { + String binPath = binPaths.get(i); + LibraryObject libObj = libHash.get(binPath); + if (null == libObj) { + continue; + } + long lowAddr = libObj.getLowestAddress(); + long highAddr = libObj.getHighestAddress(); + + if (pcAddr >= lowAddr && pcAddr <= highAddr) { + libraryObject = libObj; + break; + } + } + if (null != libraryObject) { + String path = libraryObject.getLibPath(); + binInfo = binInfoMap.get(path); + } + } + return binInfo; + } + + public void setMainTargetBinaryPath(String binaryPath) { + this.targetBinaryPath = binaryPath; } public int getDepLibCount() { @@ -115,7 +154,7 @@ public class ProcessInfo { CommonConstants.CMD_SPLIT); saveFormat.append(lowestAddress).append(CommonConstants.CMD_SPLIT); saveFormat.append(highestAddress).append(CommonConstants.CMD_SPLIT); - saveFormat.append(binaryPath).append(CommonConstants.CMD_SPLIT); + saveFormat.append(targetBinaryPath).append(CommonConstants.CMD_SPLIT); saveFormat.append(depLibCount).append(CommonConstants.CMD_SPLIT); return saveFormat.toString(); @@ -128,7 +167,7 @@ public class ProcessInfo { startTime.loadSaveFormat(new String(splitData[2])); lowestAddress = Long.parseLong(splitData[3]); highestAddress = Long.parseLong(splitData[4]); - binaryPath = new String(splitData[5]); + targetBinaryPath = new String(splitData[5]); depLibCount = Integer.parseInt(splitData[6]); } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfoPackage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfoPackage.java new file mode 100644 index 0000000..d1082a0 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/channel/data/ProcessInfoPackage.java @@ -0,0 +1,70 @@ +package org.tizen.dynamicanalyzer.swap.channel.data; + +import java.util.ArrayList; +import java.util.List; + +import org.tizen.dynamicanalyzer.common.AnalyzerManager; +import org.tizen.dynamicanalyzer.swap.model.DATime; + +public class ProcessInfoPackage { + private int pid = -1; + private int ppid = -1; + private String targetBinaryPath = null; + + private List processSnapshots = new ArrayList(); + + public int getPid() { + return pid; + } + + public void setPid(int pid) { + this.pid = pid; + } + + public int getPpid() { + return ppid; + } + + public void setPpid(int ppid) { + this.ppid = ppid; + } + + public String getTargetBinaryPath() { + return targetBinaryPath; + } + + public void setTargetBinaryPath(String localBinaryPath) { + this.targetBinaryPath = localBinaryPath; + } + + public List getProcessSnapshots() { + return processSnapshots; + } + + public ProcessInfo getProcessInfo(long time) { + DATime startTime = AnalyzerManager.getProject().getProfileStartTime(); + int size = processSnapshots.size(); + ProcessInfo preProcessinfo = null; + for (int i = 0; i < size; i++) { + ProcessInfo processInfo = processSnapshots.get(i); + DATime pTime = processInfo.getStartTime(); + long processTime = getTime(startTime, pTime); + if (processTime > time) { + return preProcessinfo; + } else { + preProcessinfo = processInfo; + } + } + return preProcessinfo; + } + + private long getTime(DATime start, DATime current) { + long startSec = start.getSec(); + long startNano = start.getNano(); + + long sec = current.getSec() - startSec; + long nano = current.getNano() - startNano; + + return (sec * 1000000 + nano / 1000); + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java index e1dfe75..c35ecc7 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java @@ -61,17 +61,17 @@ import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.model.AddrSymbolPair; import org.tizen.dynamicanalyzer.model.DeviceInfo; import org.tizen.dynamicanalyzer.project.PackageInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.ApplicationInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.ApplicationInst; +import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.FunctionInst; +import org.tizen.dynamicanalyzer.swap.channel.control.RunTimeConfiguration; +import org.tizen.dynamicanalyzer.swap.channel.control.TargetInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.UserSpaceInst; import org.tizen.dynamicanalyzer.swap.logparser.SWAPLogParser; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; import org.tizen.dynamicanalyzer.swap.model.DATime; -import org.tizen.dynamicanalyzer.swap.model.control.ApplicationInfo; -import org.tizen.dynamicanalyzer.swap.model.control.ApplicationInst; -import org.tizen.dynamicanalyzer.swap.model.control.BinaryInfo; -import org.tizen.dynamicanalyzer.swap.model.control.FunctionInst; -import org.tizen.dynamicanalyzer.swap.model.control.RunTimeConfiguration; -import org.tizen.dynamicanalyzer.swap.model.control.TargetInfo; -import org.tizen.dynamicanalyzer.swap.model.control.UserSpaceInst; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataUtils; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataUtils; import org.tizen.dynamicanalyzer.swap.platform.BinarySettingData; import org.tizen.dynamicanalyzer.swap.platform.BinarySettingManager; import org.tizen.dynamicanalyzer.ui.file.FileChartManager; @@ -233,19 +233,16 @@ public class Communicator30 extends BaseCommunicator { private UserSpaceInst getUserSpaceInst(ApplicationInfo appInfo) { UserSpaceInst output = new UserSpaceInst(); - // if (0 == ConfigureManager.getInstance().getValueInt( - // ConfigureLabels.FEATURE_FUNCTION_PROFILING)) { - // output.setCount(0); - // return output; - // } output.setCount(1); // single processing ApplicationInst appInst = new ApplicationInst(); appInst.setApplicationType(ApplicationInfo.APPTYPE_TIZEN); PackageInfo selectedApp = DACommunicator.getSelectedApp(); appInst.setApplicationId(appInfo.getAppId()); appInst.setExecutablePath(appInfo.getExecPath()); - - List symbols = selectedApp.getSymbols(); + BinaryInfo mainInfo = DACommunicator.getSelectedApp() + .getMainBinaryInfo(); + List symbols = selectedApp.getSymbols(mainInfo + .getSourceBinaryPath()); List functionInstList = appInst.getFunctionInstList(); int size = (symbols == null) ? 0 : symbols.size(); @@ -271,8 +268,8 @@ public class Communicator30 extends BaseCommunicator { ByteUtils.printByteArray(functionInst.getArgs()); System.out.println(); } - appInst.setFunctionCount(size - exSize); - // appInst.setFunctionCount(0); + appInst.setFunctionCount(size - exSize); +// appInst.setFunctionCount(0); output.getAppInstList().add(appInst); return output; } @@ -305,7 +302,7 @@ public class Communicator30 extends BaseCommunicator { byte[] payload = getMessagePayload(result.getRet()); BinaryInfo binInfo = new BinaryInfo(); binInfo.setTargetBinaryPath(targetPath); - selectedApp.setBinInfo(binInfo); + selectedApp.setMainBinaryInfo(binInfo); int index = 0; int count = ByteUtils.toInt(payload, index); index += INT_SIZE; @@ -317,25 +314,28 @@ public class Communicator30 extends BaseCommunicator { localBinaryPath = ByteUtils.getString(payload, index).trim(); String[] splitLocalBinaryPath = localBinaryPath .split(CommonConstants.SLASH); + binInfo.setLocalBinaryPath(localBinaryPath); + // init source binary path + binInfo.setSourceBinaryPath(localBinaryPath); if (null == splitLocalBinaryPath[0] || splitLocalBinaryPath[0].isEmpty()) { localBinaryPath = AnalyzerPaths.TEMP_FOLDER_PATH + File.separator + getFileName(targetPath); result = pullTheFile(targetPath, localBinaryPath); if (result.isSuccess()) { - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); } index += ByteUtils.getStringLength(payload, index); String md5sum = ByteUtils.getString(payload, index); binInfo.setType(binaryType); - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); binInfo.setMd5sumValue(md5sum); return result; } else { index += ByteUtils.getStringLength(payload, index); String md5sum = ByteUtils.getString(payload, index); binInfo.setType(binaryType); - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); binInfo.setMd5sumValue(md5sum); } @@ -347,7 +347,7 @@ public class Communicator30 extends BaseCommunicator { + File.separator + getFileName(targetPath); result = pullTheFile(targetPath, localBinaryPath); if (result.isSuccess()) { - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); } return result; } @@ -383,7 +383,7 @@ public class Communicator30 extends BaseCommunicator { + File.separator + getFileName(targetPath); result = pullTheFile(targetPath, localBinaryPath); if (result.isSuccess()) { - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); } return result; } @@ -817,7 +817,7 @@ public class Communicator30 extends BaseCommunicator { for (int a = 0; a < count; a++) { String binaryPath = settings.get(a).getBinaryPath(); BinaryInfo binInfo = targetBinInfoMap.get(binaryPath); - String localPath = binInfo.getLocalBinaryPath(); + String localPath = binInfo.getSourceBinaryPath(); ElfSymbolExtracter symbolExtractor = new ElfSymbolExtracter(); if (!symbolExtractor.makeSymbol(localPath)) { @@ -829,8 +829,8 @@ public class Communicator30 extends BaseCommunicator { int size = (symbols == null) ? 0 : symbols.size(); int exSize = 0; - FunctionInst functionInst = new FunctionInst(); for (int i = 0; i < size; i++) { + FunctionInst functionInst = new FunctionInst(); AddrSymbolPair addrSymbol = symbols.get(i); String symbol = addrSymbol.getSymbol(); // FIXME: black list hard coded. @@ -888,6 +888,11 @@ public class Communicator30 extends BaseCommunicator { binPaths.add(data.getBinaryPath()); BinaryInfo binInfo = new BinaryInfo(); binInfo.setTargetBinaryPath(data.getBinaryPath()); + + String key = AnalyzerUtil.getTargetPathKey(binInfo + .getTargetBinaryPath()); + DACommunicator.getSelectedApp().getBinaryInfoMap() + .put(key, binInfo); binInfoList.add(binInfo); } @@ -924,6 +929,8 @@ public class Communicator30 extends BaseCommunicator { int binaryType = ByteUtils.toInt(payload, index); index += INT_SIZE; localBinaryPath = ByteUtils.getString(payload, index).trim(); + binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); String[] splitLocalBinaryPath = localBinaryPath .split(CommonConstants.SLASH); if (null == splitLocalBinaryPath[0] @@ -932,12 +939,10 @@ public class Communicator30 extends BaseCommunicator { + File.separator + getFileName(binPaths.get(i)); result = pullTheFile(binPaths.get(i), localBinaryPath); if (result.isSuccess()) { - binInfo.setLocalBinaryPath(localBinaryPath); - index += ByteUtils.getStringLength(payload, index); String md5sum = ByteUtils.getString(payload, index); binInfo.setType(binaryType); - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); binInfo.setMd5sumValue(md5sum); index += ByteUtils.getStringLength(payload, index); } @@ -946,7 +951,7 @@ public class Communicator30 extends BaseCommunicator { index += ByteUtils.getStringLength(payload, index); String md5sum = ByteUtils.getString(payload, index); binInfo.setType(binaryType); - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); binInfo.setMd5sumValue(md5sum); index += ByteUtils.getStringLength(payload, index); } @@ -959,7 +964,7 @@ public class Communicator30 extends BaseCommunicator { + File.separator + getFileName(binPaths.get(i)); result = pullTheFile(binPaths.get(i), localBinaryPath); if (result.isSuccess()) { - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); } continue; } @@ -996,11 +1001,11 @@ public class Communicator30 extends BaseCommunicator { + File.separator + getFileName(binPaths.get(i)); result = pullTheFile(binPaths.get(i), localBinaryPath); if (result.isSuccess()) { - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); } continue; } else { - binInfo.setLocalBinaryPath(localBinaryPath); + binInfo.setSourceBinaryPath(localBinaryPath); } } BinarySettingManager.getInstance().addBinaryInfos(binInfoList); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java index b9bf3de..d07e222 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogPackage.java @@ -28,7 +28,7 @@ package org.tizen.dynamicanalyzer.swap.logparser; import java.util.HashMap; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class LogPackage { private HashMap logMap; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogQueue.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogQueue.java index 6693e14..f6e9c69 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogQueue.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/LogQueue.java @@ -30,7 +30,7 @@ import java.util.ArrayList; import java.util.List; import org.tizen.dynamicanalyzer.common.AnalyzerManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; /** log queue model **/ public class LogQueue { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/Logs.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/Logs.java index d5075b6..65f61d9 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/Logs.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/Logs.java @@ -29,7 +29,7 @@ package org.tizen.dynamicanalyzer.swap.logparser; import java.util.ArrayList; import java.util.List; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class Logs { private List logs; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java index a1b9dce..913cbfa 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java @@ -45,13 +45,14 @@ import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.handlers.ReplayTraceHandler; import org.tizen.dynamicanalyzer.handlers.StopHandler; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; +import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; +import org.tizen.dynamicanalyzer.swap.channel.data.LibraryObject; +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.swap.model.DATime; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.data.LibraryObject; -import org.tizen.dynamicanalyzer.swap.model.data.ProcessInfo; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; import org.tizen.dynamicanalyzer.ui.toolbar.StopLogProcessor; import org.tizen.dynamicanalyzer.ui.toolbar.StopProcessManager; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; @@ -127,14 +128,14 @@ public class MessageParser { } private void processProcessInfo(byte[] data) { - HashMap processMap = AnalyzerManager.getProject() - .getProcessInfoHash(); + HashMap processPkgMap = AnalyzerManager + .getProject().getProcessInfoPackHash(); int pid = 0; int ppid = 0; DATime processStartTime = new DATime(); long lowAddr = 0; long highAddr = 0; - String binaryPath = null; + String targetBinaryPath = null; int dependantLibCount = 0; int index = MSG_HEADER_SIZE; @@ -152,19 +153,24 @@ public class MessageParser { index += LONG_SIZE; highAddr = ByteUtils.toLong(data, index); index += LONG_SIZE; - binaryPath = ByteUtils.getString(data, index); + targetBinaryPath = ByteUtils.getString(data, index); index += ByteUtils.getStringLength(data, index); dependantLibCount = ByteUtils.toInt(data, index); index += INT_SIZE; - ProcessInfo pInfo = processMap.get(pid); - if (null == pInfo) { - pInfo = new ProcessInfo(); - if (processMap.isEmpty()) { + ProcessInfoPackage pInfoPack = processPkgMap.get(pid); + if (null == pInfoPack) { + pInfoPack = new ProcessInfoPackage(); + pInfoPack.setPid(pid); + pInfoPack.setPpid(ppid); + pInfoPack.setTargetBinaryPath(targetBinaryPath); + if (processPkgMap.isEmpty()) { AnalyzerManager.getProject().setMainPid(pid); } - processMap.put(pid, pInfo); + processPkgMap.put(pid, pInfoPack); } + ProcessInfo pInfo = new ProcessInfo(); + pInfoPack.getProcessSnapshots().add(pInfo); List libObjs = pInfo.getLibObjs(); HashMap libHash = pInfo.getLibObjHash(); @@ -187,8 +193,10 @@ public class MessageParser { } DATime startTime = AnalyzerManager.getProject().getProfileStartTime(); - int startSec = AnalyzerManager.getProject().getProfileStartTime().getSec(); - int startNano = AnalyzerManager.getProject().getProfileStartTime().getNano(); + int startSec = AnalyzerManager.getProject().getProfileStartTime() + .getSec(); + int startNano = AnalyzerManager.getProject().getProfileStartTime() + .getNano(); if (0 == startSec && 0 == startNano) { startTime.setSec(sec); @@ -207,7 +215,9 @@ public class MessageParser { pInfo.setStartTime(startTime); pInfo.setLowestAddress(lowAddr); pInfo.setHighestAddress(highAddr); - pInfo.setBinaryPath(binaryPath); + targetBinaryPath = new String( + targetBinaryPath.substring(0,targetBinaryPath.length() - 1)); + pInfo.setMainTargetBinaryPath(targetBinaryPath); pInfo.setDepLibCount(dependantLibCount); AnalyzerManager.setProcessInfoArrived(true); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java index 812837e..b298237 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java @@ -35,14 +35,14 @@ import org.tizen.dynamicanalyzer.communicator.CommunicatorUtils; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.logparser.LogInserter; import org.tizen.dynamicanalyzer.model.ImageInfo; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.ContextSwitchData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProfileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ReplayData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ScreenShotData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; +import org.tizen.dynamicanalyzer.swap.model.data.ContextSwitchData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; +import org.tizen.dynamicanalyzer.swap.model.data.ReplayData; +import org.tizen.dynamicanalyzer.swap.model.data.ScreenShotData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.page.BaseView; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; import org.tizen.dynamicanalyzer.uirecorder.UIRecorderPlayThread; @@ -52,9 +52,9 @@ import org.tizen.dynamicanalyzer.utils.ImageUtil; import org.tizen.sdblib.service.SyncResult; public class SWAPLogParser implements Runnable { - // private final String OSP_MAIN = "OspMain"; //$NON-NLS-1$ + private final String OSP_MAIN = "OspMain"; //$NON-NLS-1$ private static Thread logParser = null; - private static boolean dropCallTraceLog = false; + private static boolean dropCallTraceLog = true; private static LogQueue logQueue = null; private int SMALL_IMG_WIDTH = 40; @@ -66,11 +66,6 @@ public class SWAPLogParser implements Runnable { /** thread **/ private int pid = -1; - public static void clear() { - stopLogParser(); - getLogQueue().clear(); - } - public static LogQueue getLogQueue() { if (null == logQueue) { logQueue = new LogQueue(); @@ -88,6 +83,7 @@ public class SWAPLogParser implements Runnable { public static void startLogParser() { getLogQueue().clear(); + dropCallTraceLog = true; if (null == logParser || !logParser.isAlive()) { logParser = new Thread(null, new SWAPLogParser(), AnalyzerConstants.LOG_QUEUE_OBSERVING_THREAD); @@ -174,24 +170,29 @@ public class SWAPLogParser implements Runnable { String apiName = pData.getApiName(); if (null == apiName || apiName.isEmpty() || apiName.equals("_end")) { //$NON-NLS-1$ - setFuncName(pData); - apiName = pData.getApiName(); + // setFuncName(pData); + apiName = AnalyzerUtil.getFuncName(pData); if (apiName.equals("")) { continue; + } else { + pData.setApiName(apiName); } } - // if (!isDrapCallTraceLog()) { + // if (isDrapCallTraceLog()) { // apiName = pData.getApiName(); - // + // if (apiName.contains(OSP_MAIN)) { + // setDropCallTraceLog(false); + // } else { + // continue; // } - // LogParser.setDropCallTraceLog(true); // } - if (AnalyzerManager.getCallstackManager().isIrregularUserCall( - pData)) { - continue; - } + // if + // (AnalyzerManager.getCallstackManager().isIrregularUserCall( + // pData)) { + // continue; + // } pushLog(log, logPack); /* user callstack create by entry and exit */ // AnalyzerManager.getCallstackManager().makeUserCallstack( @@ -226,8 +227,8 @@ public class SWAPLogParser implements Runnable { .put(imgInfo.getSeq(), imgInfo); } pushLog(log, logPack); - AnalyzerManager.getCallstackManager() - .makeCallstackWithoutBacktrace(log); +// AnalyzerManager.getCallstackManager() +// .makeCallstackWithoutBacktrace(log); if (id == DataChannelConstants.MSG_PROBE_FILE || id == DataChannelConstants.MSG_PROBE_MEMORY) { AnalyzerManager.getLeakDetector().runLeakDectect(log); @@ -319,77 +320,8 @@ public class SWAPLogParser implements Runnable { } private void setFuncName(ProfileData input) { - String functionName = ""; - - /** for debug */ - // System.out.println("set func name - profile data id : " + - // input.getId() - // + " pid : " + input.getPid()); - // if (input.getId() == DataChannelConstants.MSG_FUNCTION_ENTRY) { - // System.out.println("Function entry - type : " - // + input.getProbeType() + " subtype : " - // + input.getProbeSubType()); - // } - - // if (input.getId() == 0x0008 || input.getId() == 0x0009) { - System.out.print(" profiling id "); - AnalyzerUtil.printHexdecimal(input.getId()); - System.out.println(); - functionName = AnalyzerUtil.getFuncName(input.getPid(), - input.getPcAddr()); - // } - // boolean isPieBuild = AnalyzerManager.getProject().isPieBuild(); - // boolean isPieBuild = (DACommunicator.getSelectedApp().getBinInfo() - // .getType() == 1) ? true : false; - // String baseAddr = Long.toString(AnalyzerManager.getProject() - // .getBaseAddress(input.getPid())); - // String highAddr = Long.toString(AnalyzerManager.getProject() - // .getHighestAddress(input.getPid())); - // String path = DACommunicator.getSelectedApp().getBinInfo() - // .getLocalBinaryPath(); - // String pcAddr = Long.toString(input.getPcAddr()); - // String functionName = SymbolManager.addr2func(path, pcAddr, - // isPieBuild, - // baseAddr); - - /** debug code */ - // if (input.getId() != 0x2006 && input.getProbeType() == 1) { - // if (input.getId() != 0x2006 ) { - // if (input.getId() == 0x2006) { - // System.out.print("seq : " + input.getSeq()); - // System.out.print(" id : "); - // AnalyzerUtil.printHexdecimal(input.getId()); - // System.out.print(" function name : " + functionName + "[ low :"); - // AnalyzerUtil.printHexdecimal(Long.parseLong(baseAddr)); - // System.out.print(" high : "); - // AnalyzerUtil.printHexdecimal(Long.parseLong(highAddr)); - // System.out.print(" pcAddr : "); - // AnalyzerUtil.printHexdecimal(Long.parseLong(pcAddr)); - // if (input.getId() == 0x2010) { - // System.out.print(" probe type : "); - // AnalyzerUtil.printHexdecimal(input.getProbeType()); - // System.out.print(" subtype : "); - // AnalyzerUtil.printHexdecimal(input.getProbeSubType()); - // } else { - // System.out.print(" "); - // } - // System.out.print(" tid " + input.getTid() + " pid " - // + input.getPid() + " time " + input.getTime()); - // System.out.println(" ]"); - // } - - // if (null == functionName || functionName.isEmpty() - // || functionName.equals("_end")) { //$NON-NLS-1$ - // functionName = - // InformationViewLabels.CALLSTACK_TABLE_UNKNOWN_FUNCTION; - // ApiNameManager.getApiId(functionName); - // } else { - // String prevFunctionName = functionName; - // functionName = SymbolManager - // .demanglingFunctionName(prevFunctionName); - // ApiNameManager.getApiId(functionName); - // } + functionName = AnalyzerUtil.getFuncName(input); input.setApiName(functionName); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/DATime.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/DATime.java index fb2126a..f4295dd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/DATime.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/DATime.java @@ -61,4 +61,5 @@ public class DATime { sec = Integer.parseInt(splitData[0]); nano = Integer.parseInt(splitData[1]); } + } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/RecordEventObject.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/RecordEventObject.java index f30cf29..f12e42e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/RecordEventObject.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/RecordEventObject.java @@ -29,7 +29,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class RecordEventObject extends LogData { private DATime eventTime = new DATime(); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ArgsInfo.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ArgsInfo.java similarity index 95% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ArgsInfo.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ArgsInfo.java index e126a98..8815880 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ArgsInfo.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ArgsInfo.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; public class ArgsInfo { int lastIndex = 0; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ContextSwitchData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ContextSwitchData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ContextSwitchData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ContextSwitchData.java index fbbf162..4358e22 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ContextSwitchData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ContextSwitchData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ControlData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ControlData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ControlData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ControlData.java index 0eb335f..c4c36d6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ControlData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ControlData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import static org.tizen.dynamicanalyzer.common.CommonConstants.LONG_SIZE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/CustomData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/CustomData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/CustomData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/CustomData.java index 58aa427..be167d4 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/CustomData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/CustomData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import static org.tizen.dynamicanalyzer.common.CommonConstants.INT_SIZE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/FileData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/FileData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/FileData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/FileData.java index b06c653..dd31815 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/FileData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/FileData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/GLES20LogData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/GLES20LogData.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/GLES20LogData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/GLES20LogData.java index 2b22a98..f611849 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/GLES20LogData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/GLES20LogData.java @@ -1,4 +1,4 @@ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import java.sql.PreparedStatement; import java.sql.ResultSet; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LifeCycleData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LifeCycleData.java similarity index 94% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LifeCycleData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LifeCycleData.java index 0dc17cb..88c91b5 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LifeCycleData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LifeCycleData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; public class LifeCycleData extends ProbeCommonData { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogData.java index d4be52b..47da053 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import static org.tizen.dynamicanalyzer.common.CommonConstants.INT_SIZE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogDataFactory.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java similarity index 76% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogDataFactory.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java index d58ca23..fd8d2a9 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogDataFactory.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java @@ -24,27 +24,27 @@ * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_CONTEXT_SWITCH_ENTRY; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_CONTEXT_SWITCH_EXIT; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_DATA_RECORD; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_DATA_SAMPLE; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_DATA_SYSTEM; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_FUNCTION_ENTRY; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_FUNCTION_EXIT; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_CUSTOM; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_FILE; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_GLES20; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_LIFECYCLE; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_MEMORY; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_NETWORK; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_SCENE; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_SCREENSHOT; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_SYNC; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_THREAD; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_UICONTROL; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_PROBE_UIEVENT; +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_RECORD; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_DATA_SAMPLE; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_DATA_SYSTEM; +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.swap.channel.data.DataChannelConstants.MSG_PROBE_CUSTOM; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_FILE; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_GLES20; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_LIFECYCLE; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_MEMORY; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_NETWORK; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_SCENE; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_SCREENSHOT; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_SYNC; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_THREAD; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_UICONTROL; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_PROBE_UIEVENT; import java.sql.ResultSet; import java.sql.SQLException; @@ -53,24 +53,24 @@ import java.util.List; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; -import org.tizen.dynamicanalyzer.swap.model.probe.ContextSwitchLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.ControlLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.CustomChartLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.FileLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.GLES20LogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.LifeCycleLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.LogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.MemoryLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.NetworkLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.ProfilingLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.ReplayLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.SceneLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.ScreenShotLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.SyncLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.SystemLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.ThreadLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.UIEventLogFormat; -import org.tizen.dynamicanalyzer.swap.model.probe.UserFunctionLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.ContextSwitchLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.ControlLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.CustomChartLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.FileLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.GLES20LogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.LifeCycleLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.LogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.MemoryLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.NetworkLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.ProfilingLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.ReplayLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.SceneLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.ScreenShotLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.SyncLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.SystemLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.ThreadLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.UIEventLogFormat; +import org.tizen.dynamicanalyzer.swap.model.format.UserFunctionLogFormat; public class LogDataFactory { private static List logList = new ArrayList(); @@ -122,7 +122,6 @@ public class LogDataFactory { logList.add(MSG_DATA_RECORD); logList.add(MSG_FUNCTION_ENTRY); logList.add(MSG_FUNCTION_EXIT); - logList.add(MSG_DATA_RECORD); logList.add(MSG_CONTEXT_SWITCH_ENTRY); logList.add(MSG_CONTEXT_SWITCH_EXIT); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogDataUtils.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataUtils.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogDataUtils.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataUtils.java index 6194a60..79bf79c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/LogDataUtils.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataUtils.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import static org.tizen.dynamicanalyzer.common.CommonConstants.DOUBLE_SIZE; import static org.tizen.dynamicanalyzer.common.CommonConstants.FLOAT_SIZE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/MemoryData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/MemoryData.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/MemoryData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/MemoryData.java index 05d1578..1c486df 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/MemoryData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/MemoryData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/NetworkData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/NetworkData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/NetworkData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/NetworkData.java index ee79ce9..be9ab4d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/NetworkData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/NetworkData.java @@ -1,4 +1,4 @@ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ProbeCommonData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProbeCommonData.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ProbeCommonData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProbeCommonData.java index f937b1a..378d90a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ProbeCommonData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProbeCommonData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; @@ -32,9 +32,9 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import org.tizen.dynamicanalyzer.swap.channel.data.ApiNameManager; import org.tizen.dynamicanalyzer.swap.logparser.MessageParser; import org.tizen.dynamicanalyzer.swap.model.ByteUtils; -import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager; public class ProbeCommonData extends LogData { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ProfileData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProfileData.java similarity index 85% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ProfileData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProfileData.java index 98af864..eb50f17 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ProfileData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ProfileData.java @@ -23,13 +23,13 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_CONTEXT_SWITCH_ENTRY; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_CONTEXT_SWITCH_EXIT; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_DATA_SAMPLE; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_FUNCTION_ENTRY; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_FUNCTION_EXIT; +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; @@ -52,6 +52,9 @@ public class ProfileData extends LogData { long ret = 0; String apiName = null; + int buildType = -1; + String binaryPath = null; + String callstack = null; public ProfileData() { @@ -245,4 +248,28 @@ public class ProfileData extends LogData { apiName = rs.getString(index++); callstack = rs.getString(index++); } + + public int getBuildType() { + return buildType; + } + + public void setBuildType(int buildType) { + this.buildType = buildType; + } + + public boolean isPieBuild() { + if (buildType == 1) { + return true; + } + return false; + } + + public String getBinaryPath() { + return binaryPath; + } + + public void setBinaryPath(String binaryPath) { + this.binaryPath = binaryPath; + } + } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ReplayData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ReplayData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ReplayData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ReplayData.java index bcbaec5..d0104cd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ReplayData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ReplayData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import static org.tizen.dynamicanalyzer.common.CommonConstants.INT_SIZE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SceneData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SceneData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SceneData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SceneData.java index d0e11ad..ec71f42 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SceneData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SceneData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ScreenShotData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ScreenShotData.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ScreenShotData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ScreenShotData.java index 498f3bf..bbcc554 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ScreenShotData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ScreenShotData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import java.sql.PreparedStatement; import java.sql.ResultSet; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SyncData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SyncData.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SyncData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SyncData.java index 337de7a..1ff2aa4 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SyncData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SyncData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SystemData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SystemData.java similarity index 99% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SystemData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SystemData.java index b17b168..63dd31f 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/SystemData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/SystemData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import static org.tizen.dynamicanalyzer.common.CommonConstants.FLOAT_SIZE; import static org.tizen.dynamicanalyzer.common.CommonConstants.INT_SIZE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ThreadData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ThreadData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ThreadData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ThreadData.java index 4c710fb..5866693 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/ThreadData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/ThreadData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/UIEventData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/UIEventData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/UIEventData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/UIEventData.java index 661fec0..53ebace 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/UIEventData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/UIEventData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +package org.tizen.dynamicanalyzer.swap.model.data; import static org.tizen.dynamicanalyzer.common.CommonConstants.INT_SIZE; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/UserFunctionData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/UserFunctionData.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/UserFunctionData.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/UserFunctionData.java index e85c260..00398b2 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe2/UserFunctionData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/UserFunctionData.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe2; +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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/CommonColumns.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/CommonColumns.java similarity index 91% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/CommonColumns.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/CommonColumns.java index fd836a5..0c36ce7 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/CommonColumns.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/CommonColumns.java @@ -23,11 +23,11 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; -import static org.tizen.dynamicanalyzer.swap.model.probe.LogFormat.I; -import static org.tizen.dynamicanalyzer.swap.model.probe.LogFormat.L; -import static org.tizen.dynamicanalyzer.swap.model.probe.LogFormat.T; +import static org.tizen.dynamicanalyzer.swap.model.format.LogFormat.I; +import static org.tizen.dynamicanalyzer.swap.model.format.LogFormat.L; +import static org.tizen.dynamicanalyzer.swap.model.format.LogFormat.T; import java.util.ArrayList; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ContextSwitchLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ContextSwitchLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ContextSwitchLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ContextSwitchLogFormat.java index 50dd8f7..bbe9210 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ContextSwitchLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ContextSwitchLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ControlLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ControlLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ControlLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ControlLogFormat.java index ce3c2d9..e4e540a 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ControlLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ControlLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/CustomChartLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/CustomChartLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/CustomChartLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/CustomChartLogFormat.java index 8f0d466..a7bb326 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/CustomChartLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/CustomChartLogFormat.java @@ -24,7 +24,7 @@ * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/FileLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/FileLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/FileLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/FileLogFormat.java index f7c2ae6..c01f37c 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/FileLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/FileLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/GLES20LogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/GLES20LogFormat.java similarity index 95% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/GLES20LogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/GLES20LogFormat.java index 9f9c8b9..ac03ed6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/GLES20LogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/GLES20LogFormat.java @@ -1,4 +1,4 @@ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/HeaderColumns.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/HeaderColumns.java similarity index 92% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/HeaderColumns.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/HeaderColumns.java index cf73fc3..64d7d5e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/HeaderColumns.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/HeaderColumns.java @@ -23,10 +23,10 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; -import static org.tizen.dynamicanalyzer.swap.model.probe.LogFormat.I; -import static org.tizen.dynamicanalyzer.swap.model.probe.LogFormat.L; +import static org.tizen.dynamicanalyzer.swap.model.format.LogFormat.I; +import static org.tizen.dynamicanalyzer.swap.model.format.LogFormat.L; import java.util.ArrayList; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/LifeCycleLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LifeCycleLogFormat.java similarity index 95% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/LifeCycleLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LifeCycleLogFormat.java index a6804bf..2600135 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/LifeCycleLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LifeCycleLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; public class LifeCycleLogFormat extends LogFormat { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/LogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/LogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java index e7b6586..03ed209 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/LogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.ArrayList; import java.util.List; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/MemoryLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/MemoryLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/MemoryLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/MemoryLogFormat.java index 467a14f..7551890 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/MemoryLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/MemoryLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/NetworkLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/NetworkLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/NetworkLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/NetworkLogFormat.java index 9c46bb2..15ba3b6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/NetworkLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/NetworkLogFormat.java @@ -24,7 +24,7 @@ * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ProfilingLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ProfilingLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ProfilingLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ProfilingLogFormat.java index b10c077..7a292fd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ProfilingLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ProfilingLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ReplayLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ReplayLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ReplayLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ReplayLogFormat.java index 06f789e..40e3323 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ReplayLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ReplayLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.ArrayList; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SceneLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SceneLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SceneLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SceneLogFormat.java index e0f351c..01b1fc5 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SceneLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SceneLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ScreenShotLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ScreenShotLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ScreenShotLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ScreenShotLogFormat.java index b87a463..dcbb5d9 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ScreenShotLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ScreenShotLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SyncLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SyncLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SyncLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SyncLogFormat.java index 2cdc3ab..146f3fd 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SyncLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SyncLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SystemLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SystemLogFormat.java similarity index 98% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SystemLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SystemLogFormat.java index 8fe18b6..9c780d4 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/SystemLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/SystemLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.ArrayList; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ThreadLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ThreadLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ThreadLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ThreadLogFormat.java index 9733142..7027a80 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/ThreadLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/ThreadLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/UIEventLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/UIEventLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/UIEventLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/UIEventLogFormat.java index 80518ad..0227f27 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/UIEventLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/UIEventLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/UserFunctionLogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/UserFunctionLogFormat.java similarity index 97% rename from org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/UserFunctionLogFormat.java rename to org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/UserFunctionLogFormat.java index a6b7dff..8fd8c5e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/probe/UserFunctionLogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/UserFunctionLogFormat.java @@ -23,7 +23,7 @@ * - S-Core Co., Ltd * */ -package org.tizen.dynamicanalyzer.swap.model.probe; +package org.tizen.dynamicanalyzer.swap.model.format; import java.util.Arrays; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/platform/BinarySettingManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/platform/BinarySettingManager.java index 8ab3774..09c6a42 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/platform/BinarySettingManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/platform/BinarySettingManager.java @@ -31,7 +31,7 @@ import java.util.List; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.layout.FormData; -import org.tizen.dynamicanalyzer.swap.model.control.BinaryInfo; +import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo; import org.tizen.dynamicanalyzer.swap.platform.ui.InputRow; public class BinarySettingManager { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListTable.java index 439e18f..3529740 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListTable.java @@ -38,7 +38,7 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.error.ErrorCodeManager; import org.tizen.dynamicanalyzer.model.TableInput; -import org.tizen.dynamicanalyzer.swap.model.probe2.FileData; +import org.tizen.dynamicanalyzer.swap.model.data.FileData; import org.tizen.dynamicanalyzer.ui.common.UICommonConstants; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.ui.widgets.table.DAApiListTableComposite; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListView.java index 703c366..02eff7c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListView.java @@ -38,7 +38,7 @@ import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.nl.FilePageLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer; import org.tizen.dynamicanalyzer.ui.widgets.table.TableColumnSizePackListener; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartDataEvent.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartDataEvent.java index 02b4678..5a6a253 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartDataEvent.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartDataEvent.java @@ -28,7 +28,7 @@ package org.tizen.dynamicanalyzer.ui.file; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; -import org.tizen.dynamicanalyzer.swap.model.probe2.FileData; +import org.tizen.dynamicanalyzer.swap.model.data.FileData; import org.tizen.dynamicanalyzer.ui.summary.failed.FailedData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java index 40f4a1d..28a6eb4 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartManager.java @@ -32,7 +32,7 @@ import java.util.List; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.logparser.LogListQueue; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class FileChartManager implements Runnable { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartView.java index 7b6761c..03cb954 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartView.java @@ -41,10 +41,10 @@ import org.tizen.dynamicanalyzer.nl.FilePageLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.common.SetRangeMarkerMouseMoveListener; import org.tizen.dynamicanalyzer.ui.common.UICommonConstants; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileDataMaker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileDataMaker.java index b4be032..426ae6b 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileDataMaker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileDataMaker.java @@ -41,8 +41,8 @@ import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.FileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.FileData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.common.PopupAnalysisMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.common.PopupClearMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.common.PopupEndMenuItemClickListener; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackManager.java index 4637359..cbaa227 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackManager.java @@ -37,9 +37,9 @@ import org.tizen.dynamicanalyzer.common.SymbolManager; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.logparser.LogParser; import org.tizen.dynamicanalyzer.swap.callstack.BaseCallstackManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UserFunctionData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData; import org.tizen.dynamicanalyzer.ui.summary.profiling.ProfileDataMaker; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; @@ -48,10 +48,12 @@ public class CallStackManager extends BaseCallstackManager { public void makeUserCallstack(LogData input, ProfileDataMaker profiler) { UserFunctionData log = (UserFunctionData) input; HashMap addrMap = getCallStackApiByAddrMap(); - boolean isPieBuild = AnalyzerUtil.isPieBuild(log.getPid()); + boolean isPieBuild = AnalyzerUtil.isPieBuild(log.getPid(), + log.getTime()); String baseAddr = Long.toString(AnalyzerManager.getProject() - .getBaseAddress(log.getPid())); - String binPath = AnalyzerUtil.getBinaryPath(log.getPid()); + .getBaseAddress(log.getPid(), log.getTime())); + String binPath = AnalyzerUtil.getProcessLocalBinaryPath(log.getPid(), + log.getTime()); if (null == binPath || binPath.isEmpty()) { return; } @@ -73,8 +75,7 @@ public class CallStackManager extends BaseCallstackManager { String strSelfSymbol = getUserFunctionPosition() + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strSelfFuncName; - selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol, - log.getPid()); + selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol, log); addrMap.put(selfAddr, selfCallstackUnit); } @@ -92,7 +93,7 @@ public class CallStackManager extends BaseCallstackManager { + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strCallerFuncName; callerCallstackUnit = new CallStackUnit(callerAddr, - strCallerSymbol, log.getPid()); + strCallerSymbol, log); addrMap.put(callerAddr, callerCallstackUnit); } @@ -105,14 +106,14 @@ public class CallStackManager extends BaseCallstackManager { CallStackUnit callbackApi = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); userCallstack.add(callbackApi); if (addrMap .get(LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR) == null) { CallStackUnit defaultCallstackUnit = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); addrMap.put( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, defaultCallstackUnit); @@ -122,14 +123,14 @@ public class CallStackManager extends BaseCallstackManager { CallStackUnit callbackApi = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); userCallstack.add(callbackApi); if (addrMap .get(LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR) == null) { CallStackUnit defaultCallstackUnit = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); addrMap.put( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, defaultCallstackUnit); @@ -214,10 +215,12 @@ public class CallStackManager extends BaseCallstackManager { public void makeCallstackWithoutBacktrace(LogData inputData) { HashMap addrMap = getCallStackApiByAddrMap(); - boolean isPieBuild = AnalyzerUtil.isPieBuild(inputData.getPid()); + boolean isPieBuild = AnalyzerUtil.isPieBuild(inputData.getPid(), + inputData.getTime()); String baseAddr = Long.toString(AnalyzerManager.getProject() - .getBaseAddress(inputData.getPid())); - String binPath = AnalyzerUtil.getBinaryPath(inputData.getPid()); + .getBaseAddress(inputData.getPid(), inputData.getTime())); + String binPath = AnalyzerUtil.getProcessLocalBinaryPath( + inputData.getPid(), inputData.getTime()); if (null == binPath || binPath.isEmpty()) { return; } @@ -256,15 +259,14 @@ public class CallStackManager extends BaseCallstackManager { if ((size == 0) || (!AnalyzerManager.isInBinaryRange(callerAddr))) { CallStackUnit callbackApi = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, - LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, log); probeCallstack.add(callbackApi); if (addrMap .get(LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR) == null) { CallStackUnit defaultCallstackUnit = new CallStackUnit( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL, - log.getPid()); + log); addrMap.put( LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, defaultCallstackUnit); @@ -278,7 +280,7 @@ public class CallStackManager extends BaseCallstackManager { + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strCallerFuncName; callerCallstackUnit = new CallStackUnit(callerAddr, - strCallerSymbol, log.getPid()); + strCallerSymbol, log); addrMap.put(callerAddr, callerCallstackUnit); } @@ -306,10 +308,12 @@ public class CallStackManager extends BaseCallstackManager { HashMap addrMap = getCallStackApiByAddrMap(); HashMap dupUserCallMap = getDupUserCallByTidMap(); - boolean isPieBuild = AnalyzerUtil.isPieBuild(input.getPid()); + boolean isPieBuild = AnalyzerUtil.isPieBuild(input.getPid(), + input.getTime()); String baseAddr = Long.toString(AnalyzerManager.getProject() - .getBaseAddress(input.getPid())); - String binPath = AnalyzerUtil.getBinaryPath(input.getPid()); + .getBaseAddress(input.getPid(), input.getTime())); + String binPath = AnalyzerUtil.getProcessLocalBinaryPath(input.getPid(), + input.getTime()); if (null == binPath || binPath.isEmpty()) { return false; } @@ -328,7 +332,7 @@ public class CallStackManager extends BaseCallstackManager { + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strSelfFuncName; selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol, - input.getPid()); + input); addrMap.put(selfAddr, selfCallstackUnit); } @@ -349,8 +353,8 @@ public class CallStackManager extends BaseCallstackManager { selfCallstackUnit)) { dupUserCall.increaseDupCallCount(); } else { -// System.out -// .println("isIrregularUserCall : dup callstack check error"); //$NON-NLS-1$ + // System.out + // .println("isIrregularUserCall : dup callstack check error"); //$NON-NLS-1$ } } return true; @@ -365,8 +369,8 @@ public class CallStackManager extends BaseCallstackManager { dupUserCallMap.remove(tid); } } else { -// System.out -// .println("isIrregularUserCall : dup callstack check error"); //$NON-NLS-1$ + // System.out + // .println("isIrregularUserCall : dup callstack check error"); //$NON-NLS-1$ } return true; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackUnit.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackUnit.java index 592da5e..820f189 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackUnit.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackUnit.java @@ -33,6 +33,7 @@ import org.tizen.dynamicanalyzer.common.SymbolManager; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.nl.InformationViewLabels; import org.tizen.dynamicanalyzer.project.PackageInfo; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.summary.profiling.FunctionUsageProfiler; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; @@ -47,11 +48,26 @@ public class CallStackUnit { private String offset; private String etc; private int pid; + private long time; - public CallStackUnit(long addr, String symbol, int pid) { + public CallStackUnit(long addr, String symbol, LogData log) { address = addr; functionStartAddress = addr; this.originSymbol = symbol; + this.time = log.getTime(); + + functionName = CommonConstants.EMPTY; + offset = CommonConstants.EMPTY; + etc = CommonConstants.EMPTY; + this.pid = log.getPid(); + makeCallstackData(); + } + + public CallStackUnit(long addr, String symbol, int pid, long time) { + address = addr; + functionStartAddress = addr; + this.originSymbol = symbol; + this.time = time; functionName = CommonConstants.EMPTY; offset = CommonConstants.EMPTY; @@ -69,10 +85,10 @@ public class CallStackUnit { path = UNKNOWN_LIBRARY; } - boolean isPieBuild = AnalyzerUtil.isPieBuild(pid); + boolean isPieBuild = AnalyzerUtil.isPieBuild(pid, time); String baseAddr = Long.toString(AnalyzerManager.getProject() - .getBaseAddress(pid)); - String binPath = AnalyzerUtil.getBinaryPath(pid); + .getBaseAddress(pid, time)); + String binPath = AnalyzerUtil.getProcessLocalBinaryPath(pid, time); if (splitPath.length < 2) { functionName = SymbolManager.addr2func(binPath, Long.toString(address), isPieBuild, baseAddr); @@ -156,4 +172,21 @@ public class CallStackUnit { public String getPath() { return path; } + + public long getTime() { + return time; + } + + public void setTime(long time) { + this.time = time; + } + + public int getPid() { + return pid; + } + + public void setPid(int pid) { + this.pid = pid; + } + } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackTable.java index 556fc12..c80d54b 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackTable.java @@ -37,9 +37,8 @@ import org.eclipse.swt.widgets.Composite; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; -import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.model.TableInput; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.file.FileChartView; import org.tizen.dynamicanalyzer.ui.summary.profiling.FunctionUsageProfilingView; import org.tizen.dynamicanalyzer.ui.userinterface.profiling.UIFunctionProfilingView; @@ -135,7 +134,7 @@ public class CallstackTable extends DATableComposite { address); // 99 means "table type callstack" callstackTableData - .setType(LogCenterConstants.TYPE_CALLSTACK); + .setType(AnalyzerConstants.TYPE_TABLE_CALLSTACK); callstackTableData.setObject(address); gridItem.setData(callstackTableData); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackView.java index f3f6b29..56e942a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallstackView.java @@ -37,7 +37,7 @@ import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.nl.InformationViewLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.page.ViewAction; import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer; import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SnapshotView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SnapshotView.java index 7f8a189..9ebed10 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SnapshotView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/snapshot/SnapshotView.java @@ -56,11 +56,11 @@ import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; import org.tizen.dynamicanalyzer.sql.SqlManager; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.page.ViewAction; import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer; import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListTable.java index 5ffbacb..881833b 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListTable.java @@ -41,7 +41,7 @@ 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.probe2.NetworkData; +import org.tizen.dynamicanalyzer.swap.model.data.NetworkData; import org.tizen.dynamicanalyzer.ui.common.UICommonConstants; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.ui.widgets.table.DAApiListTableComposite; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListView.java index c581d87..4580bf6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkApiListView.java @@ -38,7 +38,7 @@ import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.nl.NetworkPageLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer; import org.tizen.dynamicanalyzer.ui.widgets.table.TableColumnSizePackListener; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartDataEvent.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartDataEvent.java index ed9e539..c7e8d7b 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartDataEvent.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartDataEvent.java @@ -29,7 +29,7 @@ package org.tizen.dynamicanalyzer.ui.network; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; -import org.tizen.dynamicanalyzer.swap.model.probe2.NetworkData; +import org.tizen.dynamicanalyzer.swap.model.data.NetworkData; import org.tizen.dynamicanalyzer.ui.summary.failed.FailedData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartManager.java index e2033ae..0b39956 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartManager.java @@ -33,7 +33,7 @@ import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.logparser.LogListQueue; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class NetworkChartManager implements Runnable { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartView.java index 60bbc66..bf5012a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkChartView.java @@ -41,10 +41,10 @@ import org.tizen.dynamicanalyzer.nl.NetworkPageLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.common.SetRangeMarkerMouseMoveListener; import org.tizen.dynamicanalyzer.ui.common.UICommonConstants; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkDataMaker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkDataMaker.java index 7642dc4..767d520 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkDataMaker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/network/NetworkDataMaker.java @@ -40,8 +40,8 @@ import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.NetworkData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.NetworkData; import org.tizen.dynamicanalyzer.ui.common.PopupAnalysisMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.common.PopupClearMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.common.PopupEndMenuItemClickListener; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataMaker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataMaker.java index 4dab7d0..938cf09 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataMaker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/GLDataMaker.java @@ -33,7 +33,7 @@ import java.util.List; import java.util.Set; import org.tizen.dynamicanalyzer.nl.GLPageLabels; -import org.tizen.dynamicanalyzer.swap.model.probe2.GLES20LogData; +import org.tizen.dynamicanalyzer.swap.model.data.GLES20LogData; import org.tizen.dynamicanalyzer.ui.opengl.GLConstantMap; import org.tizen.dynamicanalyzer.ui.opengl.data.model.FrameCountInfo; import org.tizen.dynamicanalyzer.ui.opengl.data.model.GLAPIData; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/model/GLAPIData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/model/GLAPIData.java index 4a25383..a114eb3 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/model/GLAPIData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/data/model/GLAPIData.java @@ -26,7 +26,7 @@ package org.tizen.dynamicanalyzer.ui.opengl.data.model; -import org.tizen.dynamicanalyzer.swap.model.probe2.GLES20LogData; +import org.tizen.dynamicanalyzer.swap.model.data.GLES20LogData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; public class GLAPIData { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/GLDetailsView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/GLDetailsView.java index 7623550..2c35b9e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/GLDetailsView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/GLDetailsView.java @@ -41,7 +41,7 @@ import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.nl.GLPageLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.GLES20LogData; +import org.tizen.dynamicanalyzer.swap.model.data.GLES20LogData; import org.tizen.dynamicanalyzer.ui.opengl.GLES20ErrorInformation; import org.tizen.dynamicanalyzer.ui.opengl.data.GLDataMaker; import org.tizen.dynamicanalyzer.ui.opengl.data.GLSelectionData; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/GLPage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/GLPage.java index 4822e15..d808c5e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/GLPage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/GLPage.java @@ -34,11 +34,11 @@ import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; import org.tizen.dynamicanalyzer.shortcut.ShortCutManager; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.GLES20LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.GLES20LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallstackView; import org.tizen.dynamicanalyzer.ui.info.snapshot.SnapshotView; import org.tizen.dynamicanalyzer.ui.opengl.data.GLDataMaker; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/apiList/GLAPIListTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/apiList/GLAPIListTable.java index a499fd0..1089e57 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/apiList/GLAPIListTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/apiList/GLAPIListTable.java @@ -47,7 +47,7 @@ import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.sql.DBTableInfo; import org.tizen.dynamicanalyzer.sql.DBTableManager; import org.tizen.dynamicanalyzer.sql.SqlManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.opengl.GLES20ErrorInformation; import org.tizen.dynamicanalyzer.ui.opengl.data.GLContextDBEnum; import org.tizen.dynamicanalyzer.ui.opengl.data.GLDataMaker; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/chart/GLFrameRateChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/chart/GLFrameRateChart.java index 5c81357..fd13b78 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/chart/GLFrameRateChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/chart/GLFrameRateChart.java @@ -30,10 +30,10 @@ import java.util.List; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.opengl.data.GLDataMaker; import org.tizen.dynamicanalyzer.ui.timeline.chart.TimelineChart; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/context/GLContextView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/context/GLContextView.java index 43f67dc..7203012 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/context/GLContextView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/opengl/ui/context/GLContextView.java @@ -36,7 +36,7 @@ import org.tizen.dynamicanalyzer.listeners.TableTooltipListener; import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.nl.GLPageLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.opengl.data.GLSelectionData; import org.tizen.dynamicanalyzer.ui.opengl.ui.apiList.GLAPIListView; import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/DAPageComposite.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/DAPageComposite.java index b0a06b2..15ff06f 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/DAPageComposite.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/DAPageComposite.java @@ -38,7 +38,7 @@ import org.eclipse.swt.widgets.Control; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.common.DesignConstants; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class DAPageComposite extends Composite implements ViewAction { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/ViewAction.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/ViewAction.java index 5f24387..0891af9 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/ViewAction.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/ViewAction.java @@ -29,7 +29,7 @@ package org.tizen.dynamicanalyzer.ui.page; import org.eclipse.swt.widgets.Control; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public interface ViewAction { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/range/RangeDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/range/RangeDataManager.java index e525a78..1881b19 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/range/RangeDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/range/RangeDataManager.java @@ -35,13 +35,13 @@ import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.sql.SqlManager; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProfileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UserFunctionData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; +import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData; import org.tizen.dynamicanalyzer.ui.file.FileDataMaker; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackManager; import org.tizen.dynamicanalyzer.ui.page.DAPageComposite; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiListView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiListView.java index 4d4d077..5561f3c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiListView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiListView.java @@ -50,16 +50,18 @@ public class FailedApiListView extends DAView { SummaryLabels.FAILED_API_LIST_VIEW_INDEX, SummaryLabels.FAILED_API_LIST_VIEW_TIME, SummaryLabels.FAILED_API_LIST_VIEW_NAME, + SummaryLabels.FAILED_API_LIST_VIEW_PID, SummaryLabels.FAILED_API_LIST_VIEW_PARAMETER, SummaryLabels.FAILED_API_LIST_VIEW_RETURN, SummaryLabels.FAILED_API_LIST_VIEW_ERROR_CODE, SummaryLabels.FAILED_API_LIST_VIEW_ERROR_DESCRIPTION }; - protected int[] columnSizes = { 25, 60, 45, 125, 0, 70, 400 }; - protected boolean[] columnVisibility = { false, true, true, true, true, + protected int[] columnSizes = { 25, 60, 45,45, 125, 0, 70, 400 }; + protected boolean[] columnVisibility = { false, true, true,true, true, true, true, true }; protected int[] sortTypes = { AnalyzerConstants.SORT_TYPE_NUM, AnalyzerConstants.SORT_TYPE_NUM, AnalyzerConstants.SORT_TYPE_STRING, + AnalyzerConstants.SORT_TYPE_NUM, AnalyzerConstants.SORT_TYPE_STRING, AnalyzerConstants.SORT_TYPE_STRING, AnalyzerConstants.SORT_TYPE_STRING, diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiTable.java index fea9957..edd27dd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiTable.java @@ -33,6 +33,7 @@ import org.eclipse.nebula.widgets.grid.GridItem; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Composite; +import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.error.ErrorCodeManager; @@ -98,17 +99,21 @@ public class FailedApiTable extends DATableComposite { FailedData failedData = failedList.get(i); - text.add(Integer.toString(failedData.getSeq())); + text.add(Integer.toString(failedData.getSeq())); // 0 data.add(Integer.toString(failedData.getSeq())); String time = Formatter.toTimeFormat(failedData.getTime()); - text.add(time); - data.add(time); - text.add(failedData.getName()); + text.add(time); // 1 + data.add(Long.toString(failedData.getTime())); + text.add(failedData.getName()); // 2 data.add(failedData.getName()); - text.add(failedData.getArgs()); + text.add(Integer.toString(failedData.getPid())); //3 + data.add(Integer.toString(failedData.getPid())); + text.add(failedData.getArgs()); // 4 data.add(failedData.getArgs()); - text.add(Long.toString(failedData.getReturn())); + text.add(Long.toString(failedData.getReturn())); //5 data.add(Long.toString(failedData.getReturn())); + + data.add(Long.toString(failedData.getCallerPc())); //6 String errCode = ErrorCodeManager.getInatance() .getErrorCode(failedData.getErrorCode()).name(); @@ -116,7 +121,7 @@ public class FailedApiTable extends DATableComposite { // FIXME : for debug errCode = "undefined error number"; //$NON-NLS-1$ } - text.add(errCode); + text.add(errCode); // 6 data.add(Long.toString(failedData.getErrorCode())); String errMsg = ErrorCodeManager.getInatance().getErrorDescription( @@ -125,7 +130,7 @@ public class FailedApiTable extends DATableComposite { // FIXME : for debug errMsg = "undefined error number"; //$NON-NLS-1$ } - text.add(errMsg); + text.add(errMsg); // 7 data.add(Long.toString(failedData.getErrorCode())); // create images @@ -136,6 +141,7 @@ public class FailedApiTable extends DATableComposite { tableData.setObject(failedData); tableData.setLogData(failedData.getData()); tableData.getData().addAll(data); + tableData.setType(AnalyzerConstants.TYPE_TABLE_FAILED); TableInput tableInput = new TableInput(); tableInput.setText(text); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedChecker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedChecker.java index 738dbcc..90082e5 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedChecker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedChecker.java @@ -31,11 +31,11 @@ import java.util.List; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.swap.callstack.BaseCallstackManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.FileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.MemoryData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UserFunctionData; +import org.tizen.dynamicanalyzer.swap.model.data.FileData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.MemoryData; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; public class FailedChecker { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedData.java index c6b5c14..ee57e89 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedData.java @@ -28,8 +28,8 @@ package org.tizen.dynamicanalyzer.ui.summary.failed; import java.util.List; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; public class FailedData { public static final int ID_INDEX = 1; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakData.java index d3083f7..f731ba7 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakData.java @@ -28,11 +28,26 @@ package org.tizen.dynamicanalyzer.ui.summary.leaks; import java.util.ArrayList; import java.util.List; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.MemoryData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.MemoryData; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; public class LeakData { + public static final int INDEX_LEAK_SEQ = 1; + public static final int INDEX_ID = 2; + public static final int INDEX_SEQ = 3; + public static final int INDEX_TIME = 4; + public static final int INDEX_API_NAME = 5; + public static final int INDEX_PID = 6; + public static final int INDEX_ADDR = 7; + public static final int INDEX_CALLER_PCADDR = 8; + public static final int INDEX_PARAMETER = 9; + public static final int INDEX_RETURN = 10; + public static final int INDEX_LIB_NAME = 11; + public static final int INDEX_KEY = 12; + public static final int INDEX_PARENT_KEY = 13; + private static int logNum = 0; private int leakSeq = -1; private int id = -1; @@ -74,19 +89,19 @@ public class LeakData { // load data public LeakData(List loadData) { - leakSeq = Integer.parseInt(loadData.get(1)); - id = Integer.parseInt(loadData.get(2)); - seq = Integer.parseInt(loadData.get(3)); - time = Long.parseLong(loadData.get(4)); - apiName = loadData.get(5); - pid = Integer.parseInt(loadData.get(6)); - addr = Long.parseLong(loadData.get(7)); - callerPcAddr = Long.parseLong(loadData.get(8)); - param = loadData.get(9); - retValue = Long.parseLong(loadData.get(10)); - libName = loadData.get(11); - key = Integer.parseInt(loadData.get(12)); - parentKey = Integer.parseInt(loadData.get(13)); + leakSeq = Integer.parseInt(loadData.get(INDEX_LEAK_SEQ)); + id = Integer.parseInt(loadData.get(INDEX_ID)); + seq = Integer.parseInt(loadData.get(INDEX_SEQ)); + time = Long.parseLong(loadData.get(INDEX_TIME)); + apiName = loadData.get(INDEX_API_NAME); + pid = Integer.parseInt(loadData.get(INDEX_PID)); + addr = Long.parseLong(loadData.get(INDEX_ADDR)); + callerPcAddr = Long.parseLong(loadData.get(INDEX_CALLER_PCADDR)); + param = loadData.get(INDEX_PARAMETER); + retValue = Long.parseLong(loadData.get(INDEX_RETURN)); + libName = loadData.get(INDEX_LIB_NAME); + key = Integer.parseInt(loadData.get(INDEX_KEY)); + parentKey = Integer.parseInt(loadData.get(INDEX_PARENT_KEY)); } public int getKey() { @@ -222,4 +237,7 @@ public class LeakData { this.libName = libName; } + public String getType() { + return LogDataFactory.getLogFormatById(id).getName(); + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java index 66bd735..87a1574 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java @@ -31,8 +31,8 @@ import java.util.HashMap; import java.util.List; import org.tizen.dynamicanalyzer.common.AnalyzerManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackUnit; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java index 32f2ce8..138c8c5 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakTable.java @@ -37,12 +37,11 @@ import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; +import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.listeners.SummaryMouseDoubleClickListener; import org.tizen.dynamicanalyzer.model.TreeInput; -import org.tizen.dynamicanalyzer.nl.SummaryLabels; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; import org.tizen.dynamicanalyzer.ui.range.RangeLeakView; import org.tizen.dynamicanalyzer.ui.widgets.table.DATableDataFormat; @@ -81,8 +80,7 @@ public class LeakTable extends DATreeComposite { DATableDataFormat dataFormat = (DATableDataFormat) items[0] .getData(); - // LeakData2 leakData = (LeakData2) dataFormat.getObject(); - String timeStr = dataFormat.getData().get(3); // 3 -> time + String timeStr = dataFormat.getData().get(LeakData.INDEX_TIME); long time = Long.parseLong(timeStr); String id = LeakView.ID; @@ -155,20 +153,13 @@ public class LeakTable extends DATreeComposite { List data = new ArrayList(); text.add(leakData.getName()); // 0 column empty value for tree data.add(leakData.getName()); - text.add(Integer.toString(leakData.getSeq())); // 1 + text.add(Integer.toString(leakData.getPid())); // 1 + data.add(Integer.toString(leakData.getPid())); + text.add(Integer.toString(leakData.getSeq())); // 2 data.add(Integer.toString(leakData.getSeq())); - int type = leakData.getId(); - if (type == DataChannelConstants.MSG_PROBE_MEMORY) { - text.add(SummaryLabels.LEAK_TABLE_MEMORY); - data.add(SummaryLabels.LEAK_TABLE_MEMORY); - } else if (type == DataChannelConstants.MSG_PROBE_FILE) { - text.add(SummaryLabels.LEAK_TABLE_FILE); - data.add(SummaryLabels.LEAK_TABLE_FILE); - } else { - text.add(SummaryLabels.LEAK_TABLE_ETC); - data.add(SummaryLabels.LEAK_TABLE_ETC); - } // 2 + text.add(leakData.getType()); + data.add(leakData.getType()); // 3 long time = leakData.getTime(); data.add(Long.toString(time)); @@ -177,14 +168,19 @@ public class LeakTable extends DATreeComposite { } catch (NumberFormatException e) { e.printStackTrace(); text.add(Long.toString(time)); - } // 3 + } // 4 tableData.setObject(leakData.getName()); - text.add(leakData.getParam()); // 4 + text.add(leakData.getParam()); // 5 data.add(leakData.getParam()); - text.add(Long.toString(leakData.getRet())); // 5 + text.add(Long.toString(leakData.getRet())); // 6 data.add(Long.toString(leakData.getRet())); + + data.add(Long.toString(leakData.getAddr())); // 7 + data.add(Long.toString(leakData.getCallerPc())); //8 + tableData.getData().addAll(data); + tableData.setType(AnalyzerConstants.TYPE_TABLE_LEAK); TreeInput output = new TreeInput(); output.setText(text); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakView.java index 0b37e70..87db985 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakView.java @@ -47,21 +47,18 @@ public class LeakView extends DAView { protected int[] outerMaxWeight = { 100, 0 }; protected String[] columnNames = { SummaryLabels.LEAK_VIEW_NAME, - SummaryLabels.LEAK_VIEW_INDEX, SummaryLabels.LEAK_VIEW_TYPE, - SummaryLabels.LEAK_VIEW_TIME, + SummaryLabels.LEAK_VIEW_PID, SummaryLabels.LEAK_VIEW_INDEX, + SummaryLabels.LEAK_VIEW_TYPE, SummaryLabels.LEAK_VIEW_TIME, SummaryLabels.LEAK_VIEW_FILE_PARAMETER, SummaryLabels.LEAK_VIEW_RETURN }; - protected int[] columnSizes = { 60, 25, 60, 60, 100, 100 }; - protected boolean[] columnVisibility = { true, false, true, true, true, - true }; + protected int[] columnSizes = { 60, 45, 25, 60, 60, 100, 100 }; + protected boolean[] columnVisibility = { true, true, false, true, true, + true, true }; protected int[] sortTypes = { AnalyzerConstants.SORT_TYPE_GRID, - AnalyzerConstants.SORT_TYPE_NUM, AnalyzerConstants.SORT_TYPE_GRID, - AnalyzerConstants.SORT_TYPE_NUM, + AnalyzerConstants.SORT_TYPE_NUM, AnalyzerConstants.SORT_TYPE_NUM, + AnalyzerConstants.SORT_TYPE_GRID, AnalyzerConstants.SORT_TYPE_NUM, AnalyzerConstants.SORT_TYPE_STRING, AnalyzerConstants.SORT_TYPE_STRING }; -// protected int[] sourceColumns = { LeakData.SEQUENCE_INDEX, -// LeakData.SEQUENCE_INDEX, LeakData.ID_INDEX, LeakData.TIME_INDEX, -// LeakData.NAME_INDEX, LeakData.PARAM_INDEX, LeakData.RETURN_INDEX }; protected DATreeComposite treeComp = null; @@ -84,7 +81,7 @@ public class LeakView extends DAView { /*** setTree set first!!! ***/ treeComp.setTree(true); treeComp.setSortTypes(sortTypes); -// treeComp.setSourceColumns(sourceColumns); + // treeComp.setSourceColumns(sourceColumns); treeComp.setComparator(new TreeDataComparator()); treeComp.setColumns(columnNames); treeComp.setColumnSize(columnSizes); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java index 7b7187e..2fb4ae1 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfiler.java @@ -33,8 +33,8 @@ import java.util.List; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.nl.SummaryLabels; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProfileData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; public class FunctionUsageProfiler implements Runnable { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfilingView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfilingView.java index aa178bf..897a730 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfilingView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionUsageProfilingView.java @@ -38,10 +38,10 @@ import org.tizen.dynamicanalyzer.model.ColumnData; import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.nl.SummaryLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer; import org.tizen.dynamicanalyzer.ui.widgets.table.TableColumnSizePackListener; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfileDataMaker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfileDataMaker.java index 58e8a1d..893d272 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfileDataMaker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfileDataMaker.java @@ -27,7 +27,7 @@ package org.tizen.dynamicanalyzer.ui.summary.profiling; -import static org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants.MSG_FUNCTION_EXIT; +import static org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants.MSG_FUNCTION_EXIT; import java.util.ArrayList; import java.util.HashMap; @@ -37,8 +37,9 @@ import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerPaths; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.swap.callstack.BaseCallstackManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProfileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UserFunctionData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; +import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackUnit; import org.tizen.dynamicanalyzer.utils.Formatter; @@ -199,11 +200,11 @@ public class ProfileDataMaker { } private void checkUserCall(CallStackUnit csa, ProfilingData parent, - ProfilingData pp, int pid) { + ProfilingData pp, LogData log) { if (callstackManager.checkUserCall(csa.getPath())) { if (null == appBin) { CallStackUnit appBinCsa = new CallStackUnit(-1, - FunctionUsageProfiler.APPLICATION, pid); + FunctionUsageProfiler.APPLICATION, log); appBin = makeNewProfilingData(appBinCsa, true); appBin.setKey(FunctionUsageProfiler.APPLICATION_KEY); appBinName = csa.getPath(); @@ -216,7 +217,7 @@ public class ProfileDataMaker { } else { if (null == dependentLib) { CallStackUnit dependentLibBinCsa = new CallStackUnit(-2, - FunctionUsageProfiler.DEPENDENT_LIB, pid); + FunctionUsageProfiler.DEPENDENT_LIB, log); dependentLib = makeNewProfilingData(dependentLibBinCsa, true); dependentLib.setKey(FunctionUsageProfiler.DEPENDENT_LIB_KEY); } @@ -243,8 +244,7 @@ public class ProfileDataMaker { sampleCallstack.add(new String(splitCallstack[i])); } - List addrs = makeCallstackHashAndList(sampleCallstack, - sampleLog.getPid()); + List addrs = makeCallstackHashAndList(sampleCallstack, sampleLog); HashMap addrMap = callstackManager .getCallStackApiByAddrMap(); long selfAddr = sampleLog.getPcAddr(); @@ -265,7 +265,7 @@ public class ProfileDataMaker { // exclusive cpu time if (null == parent) { parent = makeNewProfilingData(inputData, true); - checkUserCall(inputData, parent, null, sampleLog.getPid()); + checkUserCall(inputData, parent, null, sampleLog); if (inputFuncName.equals(FunctionUsageProfiler.UNKNOWN)) { parent.addExCount(); } else { @@ -308,8 +308,7 @@ public class ProfileDataMaker { ProfilingData pp = null; if (null == inParent) { inParent = makeNewProfilingData(callstackCsa, true); - checkUserCall(callstackCsa, inParent, pp, - sampleLog.getPid()); + checkUserCall(callstackCsa, inParent, pp, sampleLog); } inParent.addInCount(totalSampleCount); @@ -328,8 +327,7 @@ public class ProfileDataMaker { .getPath()); if (null == inParent) { inParent = makeNewProfilingData(callstackCsa, true); - checkUserCall(callstackCsa, inParent, null, - sampleLog.getPid()); + checkUserCall(callstackCsa, inParent, null, sampleLog); } fupData = makeNewProfilingData(callstackCsa, false); fupData.setParent(inParent.getName()); @@ -362,7 +360,7 @@ public class ProfileDataMaker { } private List makeCallstackHashAndList(List callstackLog, - int pid) { + LogData log) { HashMap addrMap = callstackManager .getCallStackApiByAddrMap(); List addrs = new ArrayList(); @@ -390,7 +388,7 @@ public class ProfileDataMaker { if (null == callstackUnit) { String funcName = callstackLog.get(i + 1); CallStackUnit newCallstackUnit = new CallStackUnit(addr, - funcName, pid); + funcName, log); addrMap.put(addr, newCallstackUnit); } } @@ -426,7 +424,7 @@ public class ProfileDataMaker { .getPath()); if (null == parent) { parent = makeNewProfilingData(inputCallstackApiData, true); - checkUserCall(inputCallstackApiData, parent, null, log.getPid()); + checkUserCall(inputCallstackApiData, parent, null, log); ProfilingData child = makeNewProfilingData(inputCallstackApiData, false); @@ -493,7 +491,7 @@ public class ProfileDataMaker { .getPath()); if (null == parent) { parent = makeNewProfilingData(inputCallstackApiData, true); - checkUserCall(inputCallstackApiData, parent, null, log.getPid()); + checkUserCall(inputCallstackApiData, parent, null, log); ProfilingData child = makeNewProfilingData(inputCallstackApiData, false); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningData.java index f72a01c..c567607 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningData.java @@ -29,8 +29,9 @@ package org.tizen.dynamicanalyzer.ui.summary.warning; import java.util.ArrayList; import java.util.List; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; public class WarningData { private static int uNum = 1; @@ -68,10 +69,14 @@ public class WarningData { return seq; } - public int getCategory() { + public int getLogId() { return category; } + public String getCategory() { + return LogDataFactory.getLogFormatById(category).getName(); + } + public int getWarningCase() { return warningCase; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningListView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningListView.java index 2a15a6c..f1a1291 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningListView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningListView.java @@ -50,11 +50,13 @@ public class WarningListView extends DAView { protected DATableComposite tableComp = null; protected String[] columnNames = { SummaryLabels.WARNING_LIST_VIEW_INDEX, SummaryLabels.WARNING_LIST_VIEW_CATEGORY, + SummaryLabels.WARNING_LIST_VIEW_PID, SummaryLabels.WARNING_LIST_VIEW_WARNING_MESSAGE }; - protected int[] columnSizes = { 25, 0, 240 }; - protected boolean[] columnVisibility = { false, true, true }; + protected int[] columnSizes = { 25, 0, 45, 240 }; + protected boolean[] columnVisibility = { false, true, true, true }; protected int[] sortTypes = { AnalyzerConstants.SORT_TYPE_NUM, - AnalyzerConstants.SORT_TYPE_GRID, AnalyzerConstants.SORT_TYPE_GRID }; + AnalyzerConstants.SORT_TYPE_GRID, AnalyzerConstants.SORT_TYPE_NUM, + AnalyzerConstants.SORT_TYPE_GRID }; protected ViewContainer viewContainer = null; public WarningListView(Composite parent, int style) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningTable.java index 16dedbc..ddddb7d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningTable.java @@ -33,13 +33,11 @@ import org.eclipse.nebula.widgets.grid.GridItem; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Composite; +import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.listeners.SummaryMouseDoubleClickListener; -import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.model.TableInput; -import org.tizen.dynamicanalyzer.nl.SummaryLabels; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; import org.tizen.dynamicanalyzer.ui.range.RangeWarningListView; import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite; @@ -98,20 +96,20 @@ public class WarningTable extends DATableComposite { for (int i = 0; i < size; i++) { // create text List text = new ArrayList(); + List data = new ArrayList(); WarningData warningData = warningList.get(i); text.add(Integer.toString(warningData.getSeq())); - { - if (DataChannelConstants.MSG_PROBE_FILE == warningData - .getCategory()) { - text.add(SummaryLabels.WARNING_TABLE_FILE); - } else { - text.add(LogCenterConstants - .getLogCenterNameFromId(warningData.getCategory())); - } - } + data.add(Integer.toString(warningData.getSeq())); + + text.add(warningData.getCategory()); + data.add(warningData.getCategory()); + + text.add(Integer.toString(warningData.getPid())); + data.add(Integer.toString(warningData.getPid())); String message = WarningChecker.messageMaker(warningData, true); text.add(message); + data.add(message); // create images // create DATableDataFormat @@ -119,6 +117,7 @@ public class WarningTable extends DATableComposite { warningData.getSeq()); tableData.getData().addAll(text); tableData.setLogData(warningData.getLogData()); + tableData.setType(AnalyzerConstants.TYPE_TABLE_WARNING); TableInput tableInput = new TableInput(); tableInput.setText(text); tableInput.setData(tableData); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadAPIListTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadAPIListTable.java index ae6fc3d..1dd82dd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadAPIListTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadAPIListTable.java @@ -36,8 +36,8 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.error.ErrorCodeManager; import org.tizen.dynamicanalyzer.model.TableInput; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ThreadData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ThreadData; import org.tizen.dynamicanalyzer.ui.common.UICommonConstants; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.ui.widgets.table.DAApiListTableComposite; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java index 8fcec4a..749f2af 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartManager.java @@ -31,10 +31,10 @@ import java.util.List; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.logparser.LogListQueue; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.thread.sync.ThreadPageSyncDataManager; import org.tizen.dynamicanalyzer.ui.thread.thread.ThreadPageThreadDataManager; import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoard; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java index ecaadd6..db1bcc0 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadChartView.java @@ -38,8 +38,8 @@ import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ThreadData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ThreadData; import org.tizen.dynamicanalyzer.ui.common.SetRangeMarkerMouseMoveListener; import org.tizen.dynamicanalyzer.ui.common.UICommonConstants; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataEvent.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataEvent.java index eb8d507..52d5737 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataEvent.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/ThreadPageDataEvent.java @@ -25,7 +25,7 @@ */ package org.tizen.dynamicanalyzer.ui.thread; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public abstract class ThreadPageDataEvent { private LogData contents; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/sync/ThreadPageSyncDataEvent.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/sync/ThreadPageSyncDataEvent.java index 09991ca..4a70c16 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/sync/ThreadPageSyncDataEvent.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/sync/ThreadPageSyncDataEvent.java @@ -25,7 +25,7 @@ */ package org.tizen.dynamicanalyzer.ui.thread.sync; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.thread.ThreadPageDataEvent; public class ThreadPageSyncDataEvent extends ThreadPageDataEvent { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/sync/ThreadPageSyncDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/sync/ThreadPageSyncDataManager.java index 6a0a545..63758fd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/sync/ThreadPageSyncDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/sync/ThreadPageSyncDataManager.java @@ -36,11 +36,11 @@ import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SyncData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SyncData; import org.tizen.dynamicanalyzer.ui.common.PopupAnalysisMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.common.PopupClearMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.common.PopupEndMenuItemClickListener; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadData.java index 30423ed..c31f3bc 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadData.java @@ -30,7 +30,7 @@ import java.util.List; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.nl.ThreadPageLabels; -import org.tizen.dynamicanalyzer.swap.model.probe2.ThreadData; +import org.tizen.dynamicanalyzer.swap.model.data.ThreadData; import org.tizen.dynamicanalyzer.ui.thread.ThreadPageData; import org.tizen.dynamicanalyzer.ui.thread.ThreadPageDataEvent; import org.tizen.dynamicanalyzer.ui.thread.sync.ThreadPageSyncData; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataEvent.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataEvent.java index 5912068..953e46a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataEvent.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataEvent.java @@ -25,7 +25,7 @@ */ package org.tizen.dynamicanalyzer.ui.thread.thread; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.thread.ThreadPageDataEvent; import org.tizen.dynamicanalyzer.widgets.chart.DAChartSeriesItem; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataManager.java index aae4002..422935c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/thread/thread/ThreadPageThreadDataManager.java @@ -38,13 +38,13 @@ import org.tizen.dynamicanalyzer.project.Project; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SyncData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ThreadData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SyncData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.ThreadData; import org.tizen.dynamicanalyzer.ui.common.PopupAnalysisMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.common.PopupClearMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.common.PopupEndMenuItemClickListener; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceTable.java index ba4987a..f0f89ac 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceTable.java @@ -34,12 +34,13 @@ import org.eclipse.nebula.widgets.grid.GridItem; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Composite; +import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.model.TableInput; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProfileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UserFunctionData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; +import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData; import org.tizen.dynamicanalyzer.ui.common.UICommonConstants; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; @@ -117,6 +118,7 @@ public class CallTraceTable extends DATableComposite { DATableDataFormat tableData = new DATableDataFormat( logData.getSeq()); tableData.setLogData(logData); + tableData.setType(AnalyzerConstants.TYPE_TABLE_CALLTRACE); TableInput tableInput = new TableInput(); tableInput.setText(text); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceView.java index 3cf00d0..de58f44 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/CallTraceView.java @@ -38,12 +38,12 @@ import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.nl.TimelinePageLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProfileData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UserFunctionData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; +import org.tizen.dynamicanalyzer.swap.model.data.UserFunctionData; import org.tizen.dynamicanalyzer.ui.info.callstack.CallstackView; import org.tizen.dynamicanalyzer.ui.timeline.TimelinePage; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineView; @@ -137,18 +137,16 @@ public class CallTraceView extends DAView { } List inputs = logs.getLogs(); - List userLog = UserFunctionManager.getInstance().getLog(); - int size = inputs.size(); for (int i = 0; i < size; i++) { if (logs.getId() == DataChannelConstants.MSG_FUNCTION_ENTRY) { ProfileData pData = (ProfileData) inputs.get(i); - userLog.add(pData); + UserFunctionManager.getInstance().addLog(pData); } else if (logs.getId() == LogCenterConstants.LOG_USER_FUNCTION) { UserFunctionData input = (UserFunctionData) inputs.get(i); int type = input.getType(); if (type == LogCenterConstants.USER_FUNCTION_EVENT_TYPE_ENTER) { - userLog.add(input); + UserFunctionManager.getInstance().addLog(input); } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/UserFunctionManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/UserFunctionManager.java index 1afa889..7265c4e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/UserFunctionManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/UserFunctionManager.java @@ -30,11 +30,13 @@ package org.tizen.dynamicanalyzer.ui.timeline.calltrace; import java.util.ArrayList; import java.util.List; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class UserFunctionManager { private List log = null; private static UserFunctionManager instance = null; + private int count = 0; + public static boolean stop = false; public static UserFunctionManager getInstance() { if (null == instance) { @@ -45,6 +47,7 @@ public class UserFunctionManager { public void clear() { instance = null; + stop = false; } public List getLog() { @@ -54,4 +57,13 @@ public class UserFunctionManager { return log; } + public void addLog(LogData input) { + if (!stop) { + getLog().add(input); + count++; + if (count >= 10000) { + stop = true; + } + } + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java index 85e78b3..817337c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java @@ -31,11 +31,11 @@ import java.util.List; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlot.AutoRangeType; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java index f79ea60..cc3962e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java @@ -33,11 +33,11 @@ import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlot.AutoRangeType; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java index d264a36..6b072ef 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java @@ -31,11 +31,11 @@ import java.util.List; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartSeries; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DiskIOChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DiskIOChart.java index c88ad52..50cb3dc 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DiskIOChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DiskIOChart.java @@ -31,11 +31,11 @@ import java.util.List; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlot; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/FileChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/FileChart.java index ef8f2eb..0e882d8 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/FileChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/FileChart.java @@ -35,10 +35,10 @@ import java.util.concurrent.Semaphore; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlot; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java index d817013..fc8bf2e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java @@ -32,12 +32,12 @@ import java.util.List; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.MemoryData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.MemoryData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlot; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/NetworkIOChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/NetworkIOChart.java index ec5f6ec..5c9b7f4 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/NetworkIOChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/NetworkIOChart.java @@ -31,11 +31,11 @@ import java.util.List; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlot; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ProcessMemoryChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ProcessMemoryChart.java index 5c77b62..31bff6d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ProcessMemoryChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ProcessMemoryChart.java @@ -31,11 +31,11 @@ import java.util.List; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlot; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java index f5a3b05..9985a15 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java @@ -36,11 +36,11 @@ import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.ScreenShotData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ScreenShotData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.widgets.chart.DAChart; import org.tizen.dynamicanalyzer.widgets.chart.DAChartSeries; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/SystemMemoryChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/SystemMemoryChart.java index f4dc668..1a3b0ce 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/SystemMemoryChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/SystemMemoryChart.java @@ -32,11 +32,11 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SystemData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SystemData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.utils.Formatter; import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlot; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java index b09bf29..32bedb6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java @@ -33,11 +33,11 @@ import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.UIEventData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.UIEventData; import org.tizen.dynamicanalyzer.ui.common.UIEventChartContextMenuItem; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.ui.timeline.uievent.UIEventListDialog; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java index 8489030..86ab293 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java @@ -33,7 +33,7 @@ import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.resources.ImageResources; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; import org.tizen.dynamicanalyzer.swap.logparser.Logs; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.widgets.chart.DAChart; import org.tizen.dynamicanalyzer.widgets.chart.DAChartSeries; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineView.java index e124fe4..ff7ea19 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineView.java @@ -36,9 +36,9 @@ import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; +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.DataChannelConstants; import org.tizen.dynamicanalyzer.ui.common.SetRangeMarkerMouseMoveListener; import org.tizen.dynamicanalyzer.ui.common.TimelineChartMouseEventListener; import org.tizen.dynamicanalyzer.ui.common.TimelineChartMouseTrackAdapter; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/CustomLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/CustomLogParser.java index 9720db7..e768e2f 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/CustomLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/CustomLogParser.java @@ -32,11 +32,11 @@ import java.util.Map; import org.eclipse.swt.graphics.Color; import org.tizen.dynamicanalyzer.resources.ColorResources; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.CustomData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.CustomData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.timeline.chart.UserCustomChart; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/DeviceLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/DeviceLogParser.java index 6301dcf..85474a5 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/DeviceLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/DeviceLogParser.java @@ -2,10 +2,10 @@ package org.tizen.dynamicanalyzer.ui.timeline.logparser; import java.util.List; +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.ui.opengl.ui.chart.GLFrameRateChart; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; import org.tizen.dynamicanalyzer.ui.timeline.chart.TimelineChart; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/LifecycleLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/LifecycleLogParser.java index 5560ab4..f597885 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/LifecycleLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/LifecycleLogParser.java @@ -31,11 +31,11 @@ import java.util.List; import org.eclipse.swt.graphics.Color; 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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LifeCycleData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LifeCycleData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants; import org.tizen.dynamicanalyzer.widgets.helper.ColorResources; import org.tizen.dynamicanalyzer.widgets.lifecycle.LifecycleBar; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceInputReader.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceInputReader.java index 71bb30a..42e2863 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceInputReader.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/opentrace/OpenTraceInputReader.java @@ -32,11 +32,11 @@ import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.project.Project; import org.tizen.dynamicanalyzer.sql.SqlManager; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; import org.tizen.dynamicanalyzer.ui.page.BaseView; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java index d869cfb..ca411b6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/UIDataManager.java @@ -33,12 +33,12 @@ import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.logparser.LogListQueue; +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.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.ControlData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; -import org.tizen.dynamicanalyzer.swap.model.probe2.SceneData; +import org.tizen.dynamicanalyzer.swap.model.data.ControlData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.SceneData; import org.tizen.dynamicanalyzer.ui.userinterface.control.UIControlListDataChecker; import org.tizen.dynamicanalyzer.ui.userinterface.profiling.UIFunctionProfilingDataChecker; import org.tizen.dynamicanalyzer.ui.userinterface.scene.UISceneDataChecker; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListData.java index 2d4fb09..5044c11 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListData.java @@ -28,7 +28,7 @@ package org.tizen.dynamicanalyzer.ui.userinterface.control; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class UIControlListData { public static final int KEY_INDEX = LogCenterConstants.SEQUENCE_NUMBER_INDEX; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListDataChecker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListDataChecker.java index c3680be..3e3d5c9 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListDataChecker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListDataChecker.java @@ -30,7 +30,7 @@ import java.util.List; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.common.SymbolManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.ControlData; +import org.tizen.dynamicanalyzer.swap.model.data.ControlData; import org.tizen.dynamicanalyzer.ui.userinterface.UIDataManager; import org.tizen.dynamicanalyzer.ui.userinterface.profiling.UIFunctionProfilingData; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListTable.java index 86084cf..600dacd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/control/UIControlListTable.java @@ -44,8 +44,8 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.model.TreeInput; import org.tizen.dynamicanalyzer.sql.SqlManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.ControlData; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ControlData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.summary.profiling.ProfilingData; import org.tizen.dynamicanalyzer.ui.userinterface.UIDataManager; import org.tizen.dynamicanalyzer.ui.userinterface.UIListTableCellRenderer; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/profiling/UIFunctionProfilingData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/profiling/UIFunctionProfilingData.java index 1bc6813..9412130 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/profiling/UIFunctionProfilingData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/profiling/UIFunctionProfilingData.java @@ -30,7 +30,7 @@ import java.util.ArrayList; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.summary.profiling.ProfilingData; import org.tizen.dynamicanalyzer.utils.Formatter; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneData.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneData.java index 7e06db8..9808590 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneData.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneData.java @@ -28,7 +28,7 @@ package org.tizen.dynamicanalyzer.ui.userinterface.scene; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.utils.Formatter; public class UISceneData { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneDataChecker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneDataChecker.java index bc0de4c..8829c3d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneDataChecker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneDataChecker.java @@ -31,7 +31,7 @@ import java.util.List; import org.tizen.dynamicanalyzer.common.CommonConstants; import org.tizen.dynamicanalyzer.common.SymbolManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.SceneData; +import org.tizen.dynamicanalyzer.swap.model.data.SceneData; import org.tizen.dynamicanalyzer.ui.userinterface.UIDataManager; import org.tizen.dynamicanalyzer.utils.Formatter; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneListTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneListTable.java index d487c11..1965310 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneListTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/userinterface/scene/UISceneListTable.java @@ -37,7 +37,7 @@ import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.model.TableInput; import org.tizen.dynamicanalyzer.sql.SqlManager; -import org.tizen.dynamicanalyzer.swap.model.probe2.SceneData; +import org.tizen.dynamicanalyzer.swap.model.data.SceneData; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; import org.tizen.dynamicanalyzer.ui.userinterface.UIDataManager; import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DATabComposite.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DATabComposite.java index d9c3b71..613c179 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DATabComposite.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DATabComposite.java @@ -48,7 +48,7 @@ import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.page.ViewAction; import org.tizen.dynamicanalyzer.widgets.button.DACustomButton; import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonClickEventListener; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableComposite.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableComposite.java index 485590e..44b4cfd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableComposite.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableComposite.java @@ -56,7 +56,7 @@ import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; import org.tizen.dynamicanalyzer.ui.common.PopupAnalysisMenuItemClickListener; import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; import org.tizen.dynamicanalyzer.ui.widgets.DAGrid; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableDataFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableDataFormat.java index a736659..fe5a905 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableDataFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DATableDataFormat.java @@ -29,7 +29,7 @@ package org.tizen.dynamicanalyzer.ui.widgets.table; import java.util.ArrayList; import java.util.List; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.LogData; public class DATableDataFormat { protected LogData logData = null; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java index 676f871..35ebc2f 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java @@ -74,14 +74,16 @@ import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.handlers.RealtimePerspectiveHandler; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; import org.tizen.dynamicanalyzer.nl.InformationViewLabels; +import org.tizen.dynamicanalyzer.swap.channel.control.BinaryInfo; +import org.tizen.dynamicanalyzer.swap.channel.data.ApiNameManager; +import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; +import org.tizen.dynamicanalyzer.swap.channel.data.LibraryObject; +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.swap.model.control.BinaryInfo; -import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager; -import org.tizen.dynamicanalyzer.swap.model.data.DataChannelConstants; -import org.tizen.dynamicanalyzer.swap.model.data.LibraryObject; -import org.tizen.dynamicanalyzer.swap.model.data.ProcessInfo; -import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory; -import org.tizen.dynamicanalyzer.swap.model.probe2.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory; +import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData; +import org.tizen.dynamicanalyzer.swap.model.data.ProfileData; import org.tizen.dynamicanalyzer.swap.platform.BinarySettingManager; import org.tizen.dynamicanalyzer.ui.page.BaseView; import org.tizen.dynamicanalyzer.ui.page.DAPageComposite; @@ -1095,26 +1097,49 @@ public class AnalyzerUtil { System.out.print(output); } - public static String getBinaryPath(int pid) { - ProcessInfo processInfo = AnalyzerManager.getProject().getProcessInfo( - pid); + public static String getProcessLocalBinaryPath(int pid, long time) { + ProcessInfoPackage processInfoPkg = AnalyzerManager.getProject() + .getProcessInfo(pid); + ProcessInfo processInfo = processInfoPkg.getProcessInfo(time); if (null != processInfo) { - return processInfo.getBinaryPath(); + return processInfo.getMainTargetBinaryPath(); } return null; } - public static boolean isPieBuild(int pid) { - ProcessInfo processInfo = AnalyzerManager.getProject().getProcessInfo( - pid); + public static String getBinarySourcePath(int pid, long time) { + String localBinPath = AnalyzerUtil.getProcessLocalBinaryPath(pid, time); + BinaryInfo binInfo = DACommunicator.getSelectedApp().getBinaryInfo( + localBinPath); + String sourceBinPath = binInfo.getSourceBinaryPath(); + return sourceBinPath; + } + + public static BinaryInfo getBinaryInfo(int pid, long time) { + ProcessInfoPackage processInfoPkg = AnalyzerManager.getProject() + .getProcessInfo(pid); + ProcessInfo processInfo = processInfoPkg.getProcessInfo(time); + if (null == processInfo) { + return null; + } + + String path = processInfo.getMainTargetBinaryPath(); + String key = getTargetPathKey(path); + BinaryInfo binInfo = DACommunicator.getSelectedApp().getBinaryInfo(key); + return binInfo; + } + + public static boolean isPieBuild(int pid, long time) { + ProcessInfoPackage processInfoPkg = AnalyzerManager.getProject() + .getProcessInfo(pid); + ProcessInfo processInfo = processInfoPkg.getProcessInfo(time); if (null == processInfo) { return false; } - String path = processInfo.getBinaryPath(); - HashMap binMap = DACommunicator.getSelectedApp() - .getBinaryInfoMap(); - BinaryInfo binInfo = binMap.get(path); + String path = processInfo.getMainTargetBinaryPath(); + String key = getTargetPathKey(path); + BinaryInfo binInfo = DACommunicator.getSelectedApp().getBinaryInfo(key); if (null == binInfo) { return false; } @@ -1124,10 +1149,10 @@ public class AnalyzerUtil { return false; } - public static boolean getBinaryBuildType(String binPath) { + public static boolean getBinaryBuildType(String localBinaryPath) { HashMap binMap = DACommunicator.getSelectedApp() .getBinaryInfoMap(); - BinaryInfo binInfo = binMap.get(binPath); + BinaryInfo binInfo = binMap.get(localBinaryPath); if (null == binInfo) { return false; } @@ -1138,40 +1163,45 @@ public class AnalyzerUtil { return false; } - public static String getFuncName(int pid, long pcAddr) { + public static String getFuncName(ProfileData input) { + long pcAddr = input.getPcAddr(); HashMap funcNameMap = AnalyzerManager.getFuncNameMap(); String functionName = funcNameMap.get(pcAddr); - // if (null != functionName) { - // return functionName; - // } - - ProcessInfo processInfo = AnalyzerManager.getProject().getProcessInfo( - pid); + if (null != functionName) { + return functionName; + } + ProcessInfoPackage processInfoPkg = AnalyzerManager.getProject() + .getProcessInfo(input.getPid()); + ProcessInfo processInfo = processInfoPkg + .getProcessInfo(input.getTime()); /** for debug */ -// String binPath1 = processInfo.getBinaryPath().substring(0, -// processInfo.getBinaryPath().length() - 1); -// System.out.print("binary : " + binPath1 + " ==> "); -// AnalyzerUtil.printHexdecimal(processInfo.getLowestAddress()); -// System.out.print(" < "); -// AnalyzerUtil.printHexdecimal(pcAddr); -// System.out.print(" < "); -// AnalyzerUtil.printHexdecimal(processInfo.getHighestAddress()); -// System.out.println(); + // String binPath1 = processInfo.getBinaryPath().substring(0, + // processInfo.getBinaryPath().length() - 1); + // System.out.print("binary : " + binPath1 + " ==> "); + // AnalyzerUtil.printHexdecimal(processInfo.getLowestAddress()); + // System.out.print(" < "); + // AnalyzerUtil.printHexdecimal(pcAddr); + // System.out.print(" < "); + // AnalyzerUtil.printHexdecimal(processInfo.getHighestAddress()); + // System.out.println(); if (pcAddr >= processInfo.getLowestAddress() && pcAddr <= processInfo.getHighestAddress()) { String baseAddr = Long.toString(processInfo.getLowestAddress()); String pcStr = Long.toString(pcAddr); - BinaryInfo binInfo = DACommunicator.getSelectedApp().getBinInfo(); - String path = binInfo.getLocalBinaryPath(); + BinaryInfo binInfo = DACommunicator.getSelectedApp() + .getMainBinaryInfo(); + String localPath = binInfo.getSourceBinaryPath(); + input.setBuildType(binInfo.getType()); + input.setBinaryPath(binInfo.getTargetBinaryPath()); boolean isPieBuild = true; if (binInfo.getType() != 1) { isPieBuild = false; } - functionName = SymbolManager.addr2func(path, pcStr, isPieBuild, - baseAddr); + functionName = SymbolManager.addr2func(localPath, pcStr, + isPieBuild, baseAddr); } else { HashMap binInfoMap = BinarySettingManager .getInstance().getTargetBinInfoMap(); @@ -1192,13 +1222,16 @@ public class AnalyzerUtil { long highAddr = libObj.getHighestAddress(); /** for debug */ - System.out.print("lib : " + binPath + " ==> "); - AnalyzerUtil.printHexdecimal(lowAddr); - System.out.print(" < "); - AnalyzerUtil.printHexdecimal(pcAddr); - System.out.print(" < "); - AnalyzerUtil.printHexdecimal(highAddr); - System.out.println(); + if (lowAddr > pcAddr || highAddr < pcAddr) { + System.out.print(input.getId() + " lib : " + binPath + + " ==> "); + AnalyzerUtil.printHexdecimal(lowAddr); + System.out.print(" < "); + AnalyzerUtil.printHexdecimal(pcAddr); + System.out.print(" < "); + AnalyzerUtil.printHexdecimal(highAddr); + System.out.println(); + } if (pcAddr >= lowAddr && pcAddr <= highAddr) { libraryObject = libObj; @@ -1208,6 +1241,7 @@ public class AnalyzerUtil { if (null != libraryObject) { String path = libraryObject.getLibPath(); BinaryInfo binInfo = binInfoMap.get(path); + String localPath = binInfo.getSourceBinaryPath(); if (null != binInfo) { String baseAddr = Long.toString(libraryObject .getLowestAddress()); @@ -1216,7 +1250,7 @@ public class AnalyzerUtil { if (binInfo.getType() != 1) { isPieBuild = false; } - functionName = SymbolManager.addr2func(path, pcStr, + functionName = SymbolManager.addr2func(localPath, pcStr, isPieBuild, baseAddr); } } @@ -1235,4 +1269,10 @@ public class AnalyzerUtil { AnalyzerManager.getFuncNameMap().put(pcAddr, functionName); return functionName; } + + public static String getTargetPathKey(String targetPath) { + String[] splitTargetPath = targetPath.split(CommonConstants.SLASH); + String libName = splitTargetPath[splitTargetPath.length - 1]; + return libName; + } } -- 2.7.4