From 62f35fe6f2db55677fb5805603250f324069ba47 Mon Sep 17 00:00:00 2001 From: "sanghyunnim.lee" Date: Fri, 6 Jul 2012 08:59:36 +0900 Subject: [PATCH] [Title] Disable chart auto range [Type] [Module] [Priority] [CQ#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] --- .../dynamicanalyzer/timeline/TempConstants.java | 2 ++ .../dynamicanalyzer/timeline/TimelineMaster.java | 13 -------- .../timeline/chart/CPUFrequencyChart.java | 33 +++++++++++++------ .../dynamicanalyzer/timeline/chart/HeapChart.java | 35 ++++++++++++++------ .../timeline/chart/ProcessMemoryChart.java | 33 +++++++++++++------ .../timeline/chart/SystemMemoryChart.java | 37 ++++++++++++++-------- .../timeline/chart/TimelineChart.java | 13 -------- 7 files changed, 98 insertions(+), 68 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TempConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TempConstants.java index 234f085..e2d3216 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TempConstants.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TempConstants.java @@ -86,4 +86,6 @@ public class TempConstants { public static Color AREA_COLOR_GREEN = new Color(68, 98, 12); public static Color AREA_COLOR_PURPLE = new Color(139, 42, 118); public static Color AREA_COLOR_MAROON = new Color(126, 41, 2); + + public static double chartRangeRatio = 0.85; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineMaster.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineMaster.java index 712f2c7..b15e82b 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineMaster.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineMaster.java @@ -22,7 +22,6 @@ import org.jfree.chart.annotations.XYImageAnnotation; import org.jfree.chart.annotations.XYTextAnnotation; import org.jfree.chart.plot.IntervalMarker; import org.jfree.chart.plot.XYPlot; -import org.jfree.data.Range; import org.jfree.ui.Layer; import org.jfree.ui.RectangleAnchor; import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; @@ -488,12 +487,6 @@ public class TimelineMaster { return TempConstants.NOT_INITED; } - private XYPlot availableMemChartPlot; - - public void setSystemMemChartPlot(XYPlot plot) { - availableMemChartPlot = plot; - } - public void initAppInfo(String[] datas) { setTotalMemory(Integer.parseInt(datas[AnalyzerConstants.APP_INFO_SYSTEM_MEMORY_SIZE])); TempConstants.SUPPORT_WIFI = datas[AnalyzerConstants.APP_INFO_WIFI_SUPPORT].equals("1") ? true : false; //$NON-NLS-1$ @@ -503,12 +496,6 @@ public class TimelineMaster { private void setTotalMemory(final int totalMemory) { TempConstants.TOTAL_MEMORY = totalMemory; - Display.getDefault().asyncExec(new Runnable() { - @Override - public void run() { - availableMemChartPlot.getRangeAxis().setRange(new Range(0, TempConstants.TOTAL_MEMORY * 10 / 9)); - } - }); } public void putFileTimelineData(FileTimelineData ftd) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUFrequencyChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUFrequencyChart.java index 5707801..9baf33c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUFrequencyChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUFrequencyChart.java @@ -11,6 +11,7 @@ import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; +import org.jfree.data.Range; import org.jfree.data.time.TimeSeries; import org.jfree.data.xy.XYDataItem; import org.jfree.data.xy.XYSeries; @@ -27,6 +28,10 @@ public class CPUFrequencyChart extends TimelineChart { public static final Color COLOR_FREQ = TempConstants.LINE_COLOR_VIOLET; + private static XYPlot xyPlot; + private static double chartMaxVal = 0; + private static boolean needUpdateChartRange = false; + class CPUFrequencySeriesInfo{ private XYSeries baseSeries; private Vector newXYDataItems; @@ -75,10 +80,11 @@ public class CPUFrequencyChart extends TimelineChart { setChartStyle(); - XYPlot xyplot = chart.getXYPlot(); - xyplot.setForegroundAlpha(1.0f); + xyPlot = chart.getXYPlot(); + xyPlot.setForegroundAlpha(1.0f); + xyPlot.getRangeAxis().setAutoRange(false); - setSeriesRendering(xyplot); + setSeriesRendering(); return chart; } @@ -98,6 +104,11 @@ public class CPUFrequencyChart extends TimelineChart { freequencyInfo.baseSeries.add(xyDataItem); } freequencyInfo.newXYDataItems.clear(); + + if(needUpdateChartRange) { + xyPlot.getRangeAxis().setRange(new Range(0, chartMaxVal / TempConstants.chartRangeRatio)); + needUpdateChartRange = false; + } } }); } @@ -106,6 +117,10 @@ public class CPUFrequencyChart extends TimelineChart { public void clear() { freequencyInfo.newXYDataItems.clear(); + xyPlot.getRangeAxis().setRange(new Range(0, 0)); + chartMaxVal = 0; + needUpdateChartRange = false; + Display.getDefault().asyncExec(new Runnable() { @Override public void run() { @@ -157,6 +172,10 @@ public class CPUFrequencyChart extends TimelineChart { } freequencyInfo.newXYDataItems.add(new XYDataItem(time, freq1)); + if(chartMaxVal < freq1) { + chartMaxVal = freq1; + needUpdateChartRange = true; + } } } @@ -174,14 +193,10 @@ public class CPUFrequencyChart extends TimelineChart { return seriesDataSetList; } - private void setSeriesRendering(XYPlot xyplot) { - if (null == chart || null == xyplot) { - return; - } - + private void setSeriesRendering() { XYLineAndShapeRenderer lineRenderer = new XYLineAndShapeRenderer(true, false); lineRenderer.setSeriesPaint(0, COLOR_FREQ); - xyplot.setRenderer(0, lineRenderer); + xyPlot.setRenderer(0, lineRenderer); } @Override diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/HeapChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/HeapChart.java index b924fa3..165fc2b 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/HeapChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/HeapChart.java @@ -12,6 +12,7 @@ import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYAreaRenderer; +import org.jfree.data.Range; import org.jfree.data.time.TimeSeries; import org.jfree.data.xy.XYDataItem; import org.jfree.data.xy.XYSeries; @@ -37,6 +38,10 @@ public class HeapChart extends TimelineChart { private static HashMap allocationInfoMap = new HashMap(); private static double allocByte = 0; + + private static XYPlot xyPlot; + private static double chartMaxVal = 0; + private static boolean needUpdateChartRange = false; class AllocationSeriesInfo { private XYSeries baseSeries; @@ -98,10 +103,11 @@ public class HeapChart extends TimelineChart { setChartStyle(); - XYPlot xyplot = chart.getXYPlot(); - xyplot.setForegroundAlpha(1.0f); - - setSeriesRendering(xyplot); + xyPlot = chart.getXYPlot(); + xyPlot.setForegroundAlpha(1.0f); + xyPlot.getRangeAxis().setAutoRange(false); + + setSeriesRendering(); return chart; } @@ -128,6 +134,11 @@ public class HeapChart extends TimelineChart { userAllocationInfo.baseSeries.add(xyDataItem); } userAllocationInfo.newXYDataItems.clear(); + + if(needUpdateChartRange) { + xyPlot.getRangeAxis().setRange(new Range(0, chartMaxVal / TempConstants.chartRangeRatio)); + needUpdateChartRange = false; + } } }); } @@ -139,6 +150,10 @@ public class HeapChart extends TimelineChart { allocByte = 0; allocationInfoMap.clear(); + + xyPlot.getRangeAxis().setRange(new Range(0, 0)); + chartMaxVal = 0; + needUpdateChartRange = false; Display.getDefault().asyncExec(new Runnable() { @Override @@ -236,6 +251,10 @@ public class HeapChart extends TimelineChart { } totalAllocationInfo.newXYDataItems.add(new XYDataItem(time, value)); + if(chartMaxVal < value) { + chartMaxVal = value; + needUpdateChartRange = true; + } if (!isUserAllocUpdated) { userAllocationInfo.newXYDataItems.add(new XYDataItem(time, HeapChart.allocByte)); @@ -302,12 +321,8 @@ public class HeapChart extends TimelineChart { return seriesDataSetList; } - private void setSeriesRendering(XYPlot xyplot) { - if (null == xyplot) { - return; - } - - XYAreaRenderer renderer = (XYAreaRenderer)xyplot.getRenderer(); + private void setSeriesRendering() { + XYAreaRenderer renderer = (XYAreaRenderer)xyPlot.getRenderer(); renderer.setSeriesPaint(0, COLOR_USER_ALLOCATION); renderer.setSeriesPaint(1, COLOR_TOTAL_ALLOCATION); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/ProcessMemoryChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/ProcessMemoryChart.java index a26a294..26d28d1 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/ProcessMemoryChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/ProcessMemoryChart.java @@ -11,6 +11,7 @@ import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYAreaRenderer; +import org.jfree.data.Range; import org.jfree.data.time.TimeSeries; import org.jfree.data.xy.XYDataItem; import org.jfree.data.xy.XYSeries; @@ -33,6 +34,10 @@ public class ProcessMemoryChart extends TimelineChart { public static int sizeMode = TimelineConstants.ITEM_SIZE_MODE_DEF; + private static XYPlot xyPlot; + private static double chartMaxVal = 0; + private static boolean needUpdateChartRange = false; + class MemorySeriesInfo { private XYSeries baseSeries; private Vector newXYDataItems; @@ -105,10 +110,11 @@ public class ProcessMemoryChart extends TimelineChart { setChartStyle(); - XYPlot xyplot = chart.getXYPlot(); - xyplot.setForegroundAlpha(1.0f); + xyPlot = chart.getXYPlot(); + xyPlot.setForegroundAlpha(1.0f); + xyPlot.getRangeAxis().setAutoRange(false); - setSeriesRendering(xyplot); + setSeriesRendering(); return chart; } @@ -132,6 +138,11 @@ public class ProcessMemoryChart extends TimelineChart { PSSMemoryInfo.baseSeries.add(xyDataItem); } PSSMemoryInfo.newXYDataItems.clear(); + + if(needUpdateChartRange) { + xyPlot.getRangeAxis().setRange(new Range(0, chartMaxVal / TempConstants.chartRangeRatio)); + needUpdateChartRange = false; + } } }); } @@ -142,6 +153,10 @@ public class ProcessMemoryChart extends TimelineChart { RSSMemoryInfo.newXYDataItems.clear(); PSSMemoryInfo.newXYDataItems.clear(); + xyPlot.getRangeAxis().setRange(new Range(0, 0)); + chartMaxVal = 0; + needUpdateChartRange = false; + Display.getDefault().asyncExec(new Runnable() { @Override public void run() { @@ -169,12 +184,8 @@ public class ProcessMemoryChart extends TimelineChart { } } - private void setSeriesRendering(XYPlot xyplot) { - if (null == xyplot) { - return; - } - - XYAreaRenderer renderer = (XYAreaRenderer)xyplot.getRenderer(); + private void setSeriesRendering() { + XYAreaRenderer renderer = (XYAreaRenderer)xyPlot.getRenderer(); renderer.setSeriesPaint(0, COLOR_PSS); renderer.setSeriesPaint(1, COLOR_RSS); renderer.setSeriesPaint(2, COLOR_VSS); @@ -241,6 +252,10 @@ public class ProcessMemoryChart extends TimelineChart { } VSSMemoryInfo.newXYDataItems.add(new XYDataItem(time, value)); + if(chartMaxVal < value) { + chartMaxVal = value; + needUpdateChartRange = true; + } } /* resident */ diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/SystemMemoryChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/SystemMemoryChart.java index 287e600..cbf1f53 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/SystemMemoryChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/SystemMemoryChart.java @@ -20,7 +20,6 @@ import org.tizen.dynamicanalyzer.constants.LogCenterConstants; import org.tizen.dynamicanalyzer.constants.TimelineConstants; import org.tizen.dynamicanalyzer.nl.TimelineChartLables; import org.tizen.dynamicanalyzer.timeline.TempConstants; -import org.tizen.dynamicanalyzer.timeline.TimelineMaster; import org.tizen.dynamicanalyzer.utils.Formatter; public class SystemMemoryChart extends TimelineChart { @@ -35,6 +34,10 @@ public class SystemMemoryChart extends TimelineChart { public static int sizeMode = TimelineConstants.ITEM_SIZE_MODE_DEF; + private static XYPlot xyPlot; + private static double chartMaxVal = 0; + private static boolean needUpdateChartRange = false; + class MemorySeriesInfo { private XYSeries baseSeries; private Vector newXYDataItems; @@ -104,16 +107,13 @@ public class SystemMemoryChart extends TimelineChart { return null; } - XYPlot xyplot = chart.getXYPlot(); - xyplot.getRangeAxis().setAutoRange(false); - xyplot.getRangeAxis().setRange(new Range(0, TempConstants.TOTAL_MEMORY * 10 / 9)); - - TimelineMaster.getInstance().setSystemMemChartPlot(xyplot); + xyPlot = chart.getXYPlot(); + xyPlot.getRangeAxis().setAutoRange(false); setChartStyle(); - xyplot.setForegroundAlpha(1.0f); + xyPlot.setForegroundAlpha(1.0f); - setSeriesRendering(xyplot); + setSeriesRendering(); return chart; } @@ -145,6 +145,11 @@ public class SystemMemoryChart extends TimelineChart { totalInfo.baseSeries.add(xyDataItem); } totalInfo.newXYDataItems.clear(); + + if(needUpdateChartRange) { + xyPlot.getRangeAxis().setRange(new Range(0, chartMaxVal / TempConstants.chartRangeRatio)); + needUpdateChartRange = false; + } } }); } @@ -155,6 +160,10 @@ public class SystemMemoryChart extends TimelineChart { systemInfo.newXYDataItems.clear(); totalInfo.newXYDataItems.clear(); + xyPlot.getRangeAxis().setRange(new Range(0, 0)); + chartMaxVal = 0; + needUpdateChartRange = false; + Display.getDefault().asyncExec(new Runnable() { @Override public void run() { @@ -182,12 +191,8 @@ public class SystemMemoryChart extends TimelineChart { } } - private void setSeriesRendering(XYPlot xyplot) { - if (null == xyplot) { - return; - } - - XYAreaRenderer areaRenderer = (XYAreaRenderer) xyplot.getRenderer(); + private void setSeriesRendering() { + XYAreaRenderer areaRenderer = (XYAreaRenderer) xyPlot.getRenderer(); areaRenderer.setSeriesPaint(0, COLOR_PROC_RESIDENT); areaRenderer.setSeriesPaint(1, COLOR_SYSTEM); areaRenderer.setSeriesPaint(2, COLOR_TOTAL); @@ -245,6 +250,10 @@ public class SystemMemoryChart extends TimelineChart { systemInfo.newXYDataItems.add(new XYDataItem(time, usage)); totalInfo.newXYDataItems.add(new XYDataItem(time, TempConstants.TOTAL_MEMORY)); + if(chartMaxVal < TempConstants.TOTAL_MEMORY) { + chartMaxVal = TempConstants.TOTAL_MEMORY; + needUpdateChartRange = true; + } } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/TimelineChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/TimelineChart.java index 8ae9804..4e85419 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/TimelineChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/TimelineChart.java @@ -80,24 +80,11 @@ public abstract class TimelineChart { chart.setBorderVisible(false); chart.setBackgroundImageAlpha(1F); -// LegendTitle legend = chart.getLegend(); -// legend.setPosition(RectangleEdge.TOP); -// legend.setHorizontalAlignment(HorizontalAlignment.RIGHT); -// legend.setBackgroundPaint(new Color(80, 80, 80)); -// legend.setItemPaint(Color.LIGHT_GRAY); -// -// legend.setVisible(false); - chart.getTitle().setVisible(false); chart.getTitle().setText(""); //$NON-NLS-1$ XYPlot xyplot = (XYPlot) chart.getPlot(); - //FIXME -// DateAxis dateaxis = new DateAxis("ms"); -// dateaxis.setDateFormatOverride(new SimpleDateFormat("mm:ss")); -// xyplot.setDomainAxis(dateaxis); - xyplot.setBackgroundAlpha(1f); xyplot.setBackgroundImageAlpha(1f); -- 2.7.4