From: jungwook.ryu Date: Fri, 19 Sep 2014 07:56:32 +0000 (+0900) Subject: Snapshot : fix bug and apply Process memory size X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F97%2F27797%2F1;p=sdk%2Ftools%2Fdynamic-analyzer.git Snapshot : fix bug and apply Process memory size Change-Id: I372e4b62e2216086c3b08c77c0f3bad9a2a6681e Signed-off-by: jungwook.ryu --- diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java index 5501841..d30f449 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotDataManager.java @@ -9,12 +9,13 @@ import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; import org.tizen.dynamicanalyzer.swap.logparser.Logs; import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager; import org.tizen.dynamicanalyzer.swap.model.data.LogData; +import org.tizen.dynamicanalyzer.swap.model.data.ProcessProfileData; import org.tizen.dynamicanalyzer.swap.model.data.SystemData; public class ScreenshotDataManager extends PageDataManager { private static ScreenshotDataManager instance = null; private List lastCpuRate = null; - private int lastProcessMemory = 0; + private long lastProcessMemory = 0; private long lastStartTime = 0; private ScreenshotDataManager() { @@ -32,7 +33,7 @@ public class ScreenshotDataManager extends PageDataManager { return lastCpuRate; } - public int getLastProcessMemory() { + public long getLastProcessMemory() { return lastProcessMemory; } @@ -43,22 +44,25 @@ public class ScreenshotDataManager extends PageDataManager { @Override protected void makeData(LogPackage pack) { Logs logs = pack.getLogs(DataChannelConstants.MSG_DATA_SYSTEM); + lastCpuRate.clear(); if (null != logs && null != logs.getRawLogs() && !logs.getRawLogs().isEmpty()) { List inputs = logs.getRawLogs(); int lastIndex = inputs.size() - 1; SystemData input = (SystemData) inputs.get(lastIndex); String[] cpuRates = input.getCpuLoad().split(CommonConstants.COMMA); - for (int i = 0; i < cpuRates.length - 1; i++) { + for (int i = 0; i < cpuRates.length; i++) { String cpu = cpuRates[i].trim(); lastCpuRate.add(new Long((long)Float.parseFloat(cpu))); } - /* - * TODO interface of SystemData is changed(by jungwook). removed getResidentMemory(). - * residentMemory is possible one more per multi process. - */ -// lastProcessMemory = input.getResidentMemory(); + ProcessProfileData[] processInfoList = input.getProcessProfileDataList(); + if (processInfoList != null) { + lastProcessMemory = 0; + for (int i = 0; i < processInfoList.length; i++) { + lastProcessMemory += processInfoList[i].getResidentMemory(); + } + } lastStartTime = input.getTime(); } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotView.java index a89a52e..dab48e1 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenshotView.java @@ -283,10 +283,10 @@ public class ScreenshotView extends DAViewComposite { if (row.isEmpty()) { return; } - @SuppressWarnings("unchecked") List cpuLoadList = (List) row.get(SystemDataDBTable.COLUMN.CPU_LOAD .ordinal()); + cpuUsage.clear(); for (int ii = 0; ii < cpuLoadList.size(); ii++) { double cpu = (Double)cpuLoadList.get(ii); long value = (long)cpu; @@ -295,13 +295,8 @@ public class ScreenshotView extends DAViewComposite { long totalMem = AnalyzerManager.getProject().getDeviceStatusInfo().getSystemMemorySize(); maxMem = totalMem; - - /* - * TODO interface of SystemData is changed(by jungwook). removed - * getResidentMemory(). residentMemory is possible one more per multi - * process. - */ - // processMem = ((SystemData) input).getResidentMemory(); + + processMem = TimelineChartManager.getInstance().getProcessMemoriesFromDB(startTime); } @Override @@ -323,9 +318,9 @@ public class ScreenshotView extends DAViewComposite { setStartTime(selectTime); updateView(false); } else { - if (selStartTime > lastStartTime) { - selStartTime = lastStartTime; - } +// if (selStartTime > lastStartTime) { +// selStartTime = lastStartTime; +// } setSelectTime(selStartTime); setStartTime(selectTime); updateView(true); @@ -419,7 +414,7 @@ public class ScreenshotView extends DAViewComposite { List cpuRates = dataManager.getLastCpuRate(); int size = cpuRates.size(); cpuUsage.clear(); - for (int i = 0; i < size - 1; i++) { + for (int i = 0; i < size; i++) { cpuUsage.add(cpuRates.get(i)); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java index cd341f1..0b306db 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java @@ -28,6 +28,8 @@ package org.tizen.dynamicanalyzer.ui.timeline.common; import java.io.File; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; @@ -40,6 +42,7 @@ import org.tizen.dynamicanalyzer.common.GlobalInformation; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.constant.CommonConstants; import org.tizen.dynamicanalyzer.database.DBTable; +import org.tizen.dynamicanalyzer.database.SqlConnectionManager; import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.project.BinaryInfo; import org.tizen.dynamicanalyzer.project.LibraryObject; @@ -794,6 +797,25 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer } return processedResult; } + + public long getProcessMemoriesFromDB(long time) { + long processMemories = 0; + String query = "SELECT " + TargetProcessDBTable.MEMORY_RESIDENT + + " FROM " + targetProcessDBTable.getTableName() + + " WHERE TIME = (SELECT MAX(TIME) FROM " + targetProcessDBTable.getTableName() + + " WHERE TIME <= " + time + ")"; + ResultSet rs = SqlConnectionManager.executeQueryRS(query); + if (rs != null) { + try { + while (rs.next()) { + processMemories += rs.getLong(1); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + return processMemories; + } @Override public void makeChartSeries(long startTime, long endTime) {