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;
}
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;
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$
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) {
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;
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<XYDataItem> newXYDataItems;
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;
}
freequencyInfo.baseSeries.add(xyDataItem);
}
freequencyInfo.newXYDataItems.clear();
+
+ if(needUpdateChartRange) {
+ xyPlot.getRangeAxis().setRange(new Range(0, chartMaxVal / TempConstants.chartRangeRatio));
+ needUpdateChartRange = false;
+ }
}
});
}
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() {
}
freequencyInfo.newXYDataItems.add(new XYDataItem(time, freq1));
+ if(chartMaxVal < freq1) {
+ chartMaxVal = freq1;
+ needUpdateChartRange = true;
+ }
}
}
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
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;
private static HashMap<String, Double> allocationInfoMap = new HashMap<String, Double>();
private static double allocByte = 0;
+
+ private static XYPlot xyPlot;
+ private static double chartMaxVal = 0;
+ private static boolean needUpdateChartRange = false;
class AllocationSeriesInfo {
private XYSeries baseSeries;
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;
}
userAllocationInfo.baseSeries.add(xyDataItem);
}
userAllocationInfo.newXYDataItems.clear();
+
+ if(needUpdateChartRange) {
+ xyPlot.getRangeAxis().setRange(new Range(0, chartMaxVal / TempConstants.chartRangeRatio));
+ needUpdateChartRange = false;
+ }
}
});
}
allocByte = 0;
allocationInfoMap.clear();
+
+ xyPlot.getRangeAxis().setRange(new Range(0, 0));
+ chartMaxVal = 0;
+ needUpdateChartRange = false;
Display.getDefault().asyncExec(new Runnable() {
@Override
}
totalAllocationInfo.newXYDataItems.add(new XYDataItem(time, value));
+ if(chartMaxVal < value) {
+ chartMaxVal = value;
+ needUpdateChartRange = true;
+ }
if (!isUserAllocUpdated) {
userAllocationInfo.newXYDataItems.add(new XYDataItem(time, HeapChart.allocByte));
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);
}
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;
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<XYDataItem> newXYDataItems;
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;
}
PSSMemoryInfo.baseSeries.add(xyDataItem);
}
PSSMemoryInfo.newXYDataItems.clear();
+
+ if(needUpdateChartRange) {
+ xyPlot.getRangeAxis().setRange(new Range(0, chartMaxVal / TempConstants.chartRangeRatio));
+ needUpdateChartRange = false;
+ }
}
});
}
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() {
}
}
- 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);
}
VSSMemoryInfo.newXYDataItems.add(new XYDataItem(time, value));
+ if(chartMaxVal < value) {
+ chartMaxVal = value;
+ needUpdateChartRange = true;
+ }
}
/* resident */
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 {
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<XYDataItem> newXYDataItems;
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;
}
totalInfo.baseSeries.add(xyDataItem);
}
totalInfo.newXYDataItems.clear();
+
+ if(needUpdateChartRange) {
+ xyPlot.getRangeAxis().setRange(new Range(0, chartMaxVal / TempConstants.chartRangeRatio));
+ needUpdateChartRange = false;
+ }
}
});
}
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() {
}
}
- 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);
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;
+ }
}
}
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);