List of usage examples for org.jfree.chart.plot XYPlot setDataset
public void setDataset(XYDataset dataset)
From source file:com.att.aro.ui.view.diagnostictab.plot.BurstPlot.java
public void populate(XYPlot plot, AROTraceData analysis) { if (analysis != null) { burstDataCollection.removeAllSeries(); Map<BurstCategory, XYIntervalSeries> seriesMap = new EnumMap<BurstCategory, XYIntervalSeries>( BurstCategory.class); final Map<BurstCategory, List<Burst>> burstMap = new HashMap<BurstCategory, List<Burst>>(); for (BurstCategory eventType : BurstCategory.values()) { XYIntervalSeries series = new XYIntervalSeries(eventType); seriesMap.put(eventType, series); burstDataCollection.addSeries(series); burstMap.put(eventType, new ArrayList<Burst>()); }// w w w . ja v a2s. c o m final List<Burst> burstStates = analysis.getAnalyzerResult().getBurstcollectionAnalysisData() .getBurstCollection(); Iterator<Burst> iter = burstStates.iterator(); while (iter.hasNext()) { Burst currEvent = iter.next(); if (currEvent != null) { BurstCategory burstState = currEvent.getBurstCategory(); if (burstState != null) { seriesMap.get(burstState).add(currEvent.getBeginTime(), currEvent.getBeginTime(), currEvent.getEndTime(), 0.5, 0, 1); burstMap.get(burstState).add(currEvent); } } } Color myGreen = new Color(34, 177, 76); Color lightGreen = new Color(134, 232, 162); XYItemRenderer renderer = plot.getRenderer(); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.TCP_PROTOCOL), Color.blue); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.TCP_LOSS_OR_DUP), Color.black); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.USER_INPUT), myGreen); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.SCREEN_ROTATION), lightGreen); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.CLIENT_APP), Color.red); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.SERVER_NET_DELAY), Color.yellow); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.LONG), Color.gray); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.PERIODICAL), Color.magenta); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.CPU), Color.cyan); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.UNKNOWN), Color.darkGray); // Assign ToolTip to renderer renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { BurstCategory eventType = (BurstCategory) burstDataCollection.getSeries(series).getKey(); Burst b; int size = burstMap.get(eventType).size(); if (size > item) { b = burstMap.get(eventType).get(item); } else { b = burstMap.get(eventType).get(size); } final String PREFIX = "BurstCategory."; return MessageFormat.format(ResourceBundleHelper.getMessageString(PREFIX + eventType.ordinal()), b.getPackets().size(), b.getBurstBytes(), b.getBurstThroughPut()); } }); } plot.setDataset(burstDataCollection); // return plot; }
From source file:com.att.aro.ui.view.diagnostictab.plot.BluetoothPlot.java
@Override public void populate(XYPlot plot, AROTraceData analysis) { if (analysis != null) { bluetoothData.removeAllSeries(); XYIntervalSeries bluetoothConnected = new XYIntervalSeries(BluetoothState.BLUETOOTH_CONNECTED); XYIntervalSeries bluetoothDisconnected = new XYIntervalSeries(BluetoothState.BLUETOOTH_DISCONNECTED); XYIntervalSeries bluetoothOff = new XYIntervalSeries(BluetoothState.BLUETOOTH_TURNED_OFF); XYIntervalSeries bluetoothOn = new XYIntervalSeries(BluetoothState.BLUETOOTH_TURNED_ON); XYIntervalSeries bluetoothUnknown = new XYIntervalSeries(BluetoothState.BLUETOOTH_UNKNOWN); bluetoothData.addSeries(bluetoothConnected); bluetoothData.addSeries(bluetoothDisconnected); bluetoothData.addSeries(bluetoothOff); bluetoothData.addSeries(bluetoothOn); bluetoothData.addSeries(bluetoothUnknown); // Populate the data set Iterator<BluetoothInfo> iter = analysis.getAnalyzerResult().getTraceresult().getBluetoothInfos() .iterator();//from ww w.ja va 2 s. c o m XYIntervalSeries series; if (iter.hasNext()) { while (iter.hasNext()) { BluetoothInfo btEvent = iter.next(); if (btEvent.getBluetoothState() == null) { series = bluetoothUnknown; } else { switch (btEvent.getBluetoothState()) { case BLUETOOTH_CONNECTED: series = bluetoothConnected; break; case BLUETOOTH_DISCONNECTED: series = bluetoothDisconnected; break; case BLUETOOTH_TURNED_ON: series = bluetoothOn; break; case BLUETOOTH_TURNED_OFF: series = bluetoothOff; break; default: series = bluetoothUnknown; break; } } series.add(btEvent.getBeginTimeStamp(), btEvent.getBeginTimeStamp(), btEvent.getEndTimeStamp(), 0.5, 0, 1); } } XYItemRenderer renderer = plot.getRenderer(); renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_CONNECTED), new Color(34, 177, 76)); renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_DISCONNECTED), Color.YELLOW); renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_TURNED_OFF), new Color(216, 132, 138)); renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_TURNED_ON), new Color(162, 226, 98)); renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_UNKNOWN), new Color(154, 154, 154)); // Assign ToolTip to renderer renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { BluetoothState eventType = (BluetoothState) bluetoothData.getSeries(series).getKey(); return MessageFormat.format(ResourceBundleHelper.getMessageString("bluetooth.tooltip"), dataset.getX(series, item), ResourceBundleHelper.getEnumString(eventType)); } }); } plot.setDataset(bluetoothData); // return plot; }
From source file:com.att.aro.diagnostics.GraphPanel.java
private static void populateScreenStatePlot(XYPlot plot, TraceData.Analysis analysis) { final XYIntervalSeriesCollection screenData = new XYIntervalSeriesCollection(); if (analysis != null) { XYIntervalSeries series = new XYIntervalSeries(ScreenState.SCREEN_ON); screenData.addSeries(series);//from w w w . j a v a 2 s . c o m // Populate the data set final Map<Double, ScreenStateInfo> dataMap = new HashMap<Double, ScreenStateInfo>(); Iterator<ScreenStateInfo> iter = analysis.getScreenStateInfos().iterator(); if (iter.hasNext()) { while (iter.hasNext()) { ScreenStateInfo screenEvent = iter.next(); if (screenEvent.getScreenState() == ScreenState.SCREEN_ON) { series.add(screenEvent.getBeginTimeStamp(), screenEvent.getBeginTimeStamp(), screenEvent.getEndTimeStamp(), 0.5, 0, 1); dataMap.put(screenEvent.getBeginTimeStamp(), screenEvent); } } } // Assign ToolTip to renderer XYItemRenderer renderer = plot.getRenderer(); renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { ScreenStateInfo si = dataMap.get(dataset.getXValue(series, item)); if (si != null) { StringBuffer displayInfo = new StringBuffer(rb.getString("screenstate.tooltip.prefix")); int timeout = si.getScreenTimeout(); displayInfo.append(MessageFormat.format(rb.getString("screenstate.tooltip.content"), ResourceBundleManager.getEnumString(si.getScreenState()), si.getScreenBrightness(), timeout > 0 ? timeout : rb.getString("screenstate.noTimeout"))); displayInfo.append(rb.getString("screenstate.tooltip.suffix")); return displayInfo.toString(); } return null; } }); } plot.setDataset(screenData); }
From source file:com.att.aro.ui.view.diagnostictab.plot.WakeLockPlot.java
@Override public void populate(XYPlot plot, AROTraceData analysis) { XYIntervalSeriesCollection wakelockData = new XYIntervalSeriesCollection(); if (analysis == null) { logger.info("analysis data is null"); } else {//from w w w . j ava2s . c o m TraceResultType resultType = analysis.getAnalyzerResult().getTraceresult().getTraceResultType(); if (resultType.equals(TraceResultType.TRACE_FILE)) { logger.info("didn't get analysis trace data!"); } else { TraceDirectoryResult traceresult = (TraceDirectoryResult) analysis.getAnalyzerResult() .getTraceresult(); XYIntervalSeries series = new XYIntervalSeries(WakelockState.WAKELOCK_ACQUIRED); wakelockData.addSeries(series); // Populate the data set Iterator<WakelockInfo> iter = traceresult.getWakelockInfos().iterator(); if (iter.hasNext()) { WakelockInfo lastEvent = iter.next(); logger.debug("Wakelock Plotting"); // Check whether WAKELOCK was acquired before logging begins. if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_RELEASED) { series.add(0, 0, lastEvent.getBeginTimeStamp(), 0.5, 0, 1); dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent); } while (iter.hasNext()) { WakelockInfo currEvent = iter.next(); if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_ACQUIRED) { logger.debug("Wakelock acquired curr " + currEvent.getBeginTimeStamp()); logger.debug("Wakelock acquired last " + lastEvent.getBeginTimeStamp()); series.add(lastEvent.getBeginTimeStamp(), lastEvent.getBeginTimeStamp(), currEvent.getBeginTimeStamp(), 0.5, 0, 1); dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent); } lastEvent = currEvent; } if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_ACQUIRED) { series.add(lastEvent.getBeginTimeStamp(), lastEvent.getBeginTimeStamp(), traceresult.getTraceDuration(), 0.5, 0, 1); dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent); } } // Assign ToolTip to renderer XYItemRenderer renderer = plot.getRenderer(); renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { WakelockInfo wi = dataMap.get(dataset.getXValue(series, item)); if (wi != null) { StringBuffer displayInfo = new StringBuffer( ResourceBundleHelper.getMessageString("wakelock.tooltip.prefix")); displayInfo.append(MessageFormat.format( ResourceBundleHelper.getMessageString("wakelock.tooltip.content"), ResourceBundleHelper.getEnumString(wi.getWakelockState()), wi.getBeginTimeStamp())); displayInfo.append(ResourceBundleHelper.getMessageString("wakelock.tooltip.suffix")); return displayInfo.toString(); } return null; } }); } } plot.setDataset(wakelockData); // return plot; }
From source file:com.att.aro.diagnostics.GraphPanel.java
private static void populateRadioPlot(XYPlot plot, TraceData.Analysis analysis) { XYSeries series = new XYSeries(0); if (analysis != null) { final List<RadioInfo> radioInfos = analysis.getRadioInfos(); if (radioInfos.size() > 0 && analysis.getFilter().getTimeRange() != null) { RadioInfo first = radioInfos.get(0); series.add(analysis.getFilter().getTimeRange().getBeginTime(), first.getSignalStrength() < 0 ? first.getSignalStrength() : MIN_SIGNAL); }/*from w w w .j a v a 2 s . com*/ for (RadioInfo ri : radioInfos) { series.add(ri.getTimeStamp(), ri.getSignalStrength() < 0 ? ri.getSignalStrength() : MIN_SIGNAL); } if (radioInfos.size() > 0) { RadioInfo last = radioInfos.get(radioInfos.size() - 1); if (analysis.getFilter().getTimeRange() != null) { series.add(analysis.getFilter().getTimeRange().getEndTime(), last.getSignalStrength() < 0 ? last.getSignalStrength() : MIN_SIGNAL); } else { series.add(analysis.getTraceData().getTraceDuration(), last.getSignalStrength() < 0 ? last.getSignalStrength() : MIN_SIGNAL); } } // Assign ToolTip to renderer XYItemRenderer renderer = plot.getRenderer(); renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { RadioInfo ri = radioInfos.get(Math.min(item, radioInfos.size() - 1)); if (ri.getSignalStrength() < 0) { if (ri.isLte()) { return MessageFormat.format(rb.getString("radio.tooltip.lte"), ri.getLteRsrp(), ri.getLteRsrq()); } else { return MessageFormat.format(rb.getString("radio.tooltip"), ri.getSignalStrength()); } } else { return rb.getString("radio.noSignal"); } } }); } plot.setDataset(new XYSeriesCollection(series)); }
From source file:com.att.aro.ui.view.diagnostictab.plot.RrcPlot.java
@Override public void populate(XYPlot plot, AROTraceData analysis) { if (analysis != null) { rrcDataCollection.removeAllSeries(); Map<RRCState, XYIntervalSeries> seriesMap = new EnumMap<RRCState, XYIntervalSeries>(RRCState.class); for (RRCState eventType : RRCState.values()) { XYIntervalSeries series = new XYIntervalSeries(eventType); seriesMap.put(eventType, series); rrcDataCollection.addSeries(series); }//from www.ja va2s. c o m List<RrcStateRange> rrcStates = analysis.getAnalyzerResult().getStatemachine().getStaterangelist(); Iterator<RrcStateRange> iter = rrcStates.iterator(); while (iter.hasNext()) { RrcStateRange currEvent = iter.next(); RRCState state = currEvent.getState(); if (state == RRCState.STATE_FACH || state == RRCState.TAIL_FACH) { seriesMap.get(state).add(currEvent.getBeginTime(), currEvent.getBeginTime(), currEvent.getEndTime(), 0.25, 0, 0.5); } else { seriesMap.get(state).add(currEvent.getBeginTime(), currEvent.getBeginTime(), currEvent.getEndTime(), 0.5, 0, 1); } } XYItemRenderer renderer = plot.getRenderer(); Color dchGreen = new Color(34, 177, 76); Color fachOrange = new Color(255, 201, 14); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.STATE_IDLE), Color.white); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_IDLE), Color.white); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.PROMO_IDLE_DCH), Color.red); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_PROMOTION), Color.red); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.STATE_DCH), fachOrange); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_CONTINUOUS), fachOrange); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.TAIL_DCH), getTailPaint(fachOrange)); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_CR_TAIL), getTailPaint(fachOrange)); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_DRX_SHORT), getTailPaint(fachOrange)); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_DRX_LONG), getTailPaint(fachOrange)); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.STATE_FACH), dchGreen); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.TAIL_FACH), getTailPaint(dchGreen)); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.PROMO_FACH_DCH), Color.red); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.WIFI_IDLE), Color.white); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.WIFI_ACTIVE), fachOrange); renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.WIFI_TAIL), getTailPaint(fachOrange)); // Assign ToolTip to renderer final Profile profile = analysis.getAnalyzerResult().getProfile(); renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { RRCState eventType = (RRCState) rrcDataCollection.getSeries(series).getKey(); final String PREFIX = "RRCTooltip."; if (eventType == RRCState.LTE_IDLE && profile instanceof ProfileLTE) { return MessageFormat.format(ResourceBundleHelper.getMessageString(PREFIX + eventType), ((ProfileLTE) profile).getIdlePingPeriod()); } return ResourceBundleHelper.getMessageString(PREFIX + eventType); } }); } plot.setDataset(rrcDataCollection); // return plot; }
From source file:com.att.aro.diagnostics.GraphPanel.java
private static void populateBluetoothPlot(XYPlot plot, TraceData.Analysis analysis) { // create the dataset... final XYIntervalSeriesCollection bluetoothData = new XYIntervalSeriesCollection(); if (analysis != null) { XYIntervalSeries bluetoothConnected = new XYIntervalSeries(BluetoothState.BLUETOOTH_CONNECTED); XYIntervalSeries bluetoothDisconnected = new XYIntervalSeries(BluetoothState.BLUETOOTH_DISCONNECTED); XYIntervalSeries bluetoothOff = new XYIntervalSeries(BluetoothState.BLUETOOTH_TURNED_OFF); bluetoothData.addSeries(bluetoothConnected); bluetoothData.addSeries(bluetoothDisconnected); // bluetoothStateCollection.addSeries(bluetoothOff); // Populate the data set Iterator<BluetoothInfo> iter = analysis.getBluetoothInfos().iterator(); XYIntervalSeries series;//from ww w .j a v a2 s .c o m if (iter.hasNext()) { while (iter.hasNext()) { BluetoothInfo btEvent = iter.next(); switch (btEvent.getBluetoothState()) { case BLUETOOTH_CONNECTED: series = bluetoothConnected; break; case BLUETOOTH_DISCONNECTED: series = bluetoothDisconnected; break; default: series = bluetoothOff; break; } series.add(btEvent.getBeginTimeStamp(), btEvent.getBeginTimeStamp(), btEvent.getEndTimeStamp(), 0.5, 0, 1); } } XYItemRenderer renderer = plot.getRenderer(); renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_CONNECTED), new Color(34, 177, 76)); renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_DISCONNECTED), Color.YELLOW); // Assign ToolTip to renderer renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { BluetoothState eventType = (BluetoothState) bluetoothData.getSeries(series).getKey(); return MessageFormat.format(rb.getString("bluetooth.tooltip"), dataset.getX(series, item), ResourceBundleManager.getEnumString(eventType)); } }); } plot.setDataset(bluetoothData); }
From source file:com.att.aro.ui.view.diagnostictab.plot.WifiPlot.java
@Override public void populate(XYPlot plot, AROTraceData analysis) { wifiData = new XYIntervalSeriesCollection(); if (analysis == null) { logger.info("didn't get analysis trace data! "); } else {/*ww w. ja v a 2s. c om*/ TraceResultType resultType = analysis.getAnalyzerResult().getTraceresult().getTraceResultType(); if (resultType.equals(TraceResultType.TRACE_FILE)) { logger.info("it is not contain the file "); } else { TraceDirectoryResult traceresult = (TraceDirectoryResult) analysis.getAnalyzerResult() .getTraceresult(); Map<WifiState, XYIntervalSeries> seriesMap = new EnumMap<WifiState, XYIntervalSeries>( WifiState.class); for (WifiState eventType : WifiState.values()) { XYIntervalSeries series = new XYIntervalSeries(eventType); seriesMap.put(eventType, series); switch (eventType) { case WIFI_UNKNOWN: case WIFI_DISABLED: // Don't chart these break; default: wifiData.addSeries(series); break; } } // Populate the data set List<WifiInfo> wifiInfos = traceresult.getWifiInfos(); final Map<Double, WifiInfo> eventMap = new HashMap<Double, WifiInfo>(wifiInfos.size()); Iterator<WifiInfo> iter = wifiInfos.iterator(); if (iter.hasNext()) { while (iter.hasNext()) { WifiInfo wifiEvent = iter.next(); seriesMap.get(wifiEvent.getWifiState()).add(wifiEvent.getBeginTimeStamp(), wifiEvent.getBeginTimeStamp(), wifiEvent.getEndTimeStamp(), 0.5, 0, 1); eventMap.put(wifiEvent.getBeginTimeStamp(), wifiEvent); } } XYItemRenderer renderer = plot.getRenderer(); for (WifiState eventType : WifiState.values()) { Color paint; switch (eventType) { case WIFI_CONNECTED: case WIFI_CONNECTING: case WIFI_DISCONNECTING: paint = new Color(34, 177, 76); break; case WIFI_DISCONNECTED: case WIFI_SUSPENDED: paint = Color.YELLOW; break; default: paint = Color.WHITE; break; } int index = wifiData.indexOf(eventType); if (index >= 0) { renderer.setSeriesPaint(index, paint); } } // Assign ToolTip to renderer renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { WifiState eventType = (WifiState) wifiData.getSeries(series).getKey(); StringBuffer message = new StringBuffer( ResourceBundleHelper.getMessageString("wifi.tooltip.prefix")); message.append(MessageFormat.format(ResourceBundleHelper.getMessageString("wifi.tooltip"), dataset.getX(series, item), ResourceBundleHelper.getEnumString(eventType))); switch (eventType) { case WIFI_CONNECTED: WifiInfo info = eventMap.get(dataset.getX(series, item)); if (info != null && info.getWifiState() == WifiState.WIFI_CONNECTED) { message.append(MessageFormat.format( ResourceBundleHelper.getMessageString("wifi.connTooltip"), info.getWifiMacAddress(), info.getWifiRSSI(), info.getWifiSSID())); } break; default: break; } message.append(ResourceBundleHelper.getMessageString("wifi.tooltip.suffix")); return message.toString(); } }); } } plot.setDataset(wifiData); // return plot; }
From source file:com.att.aro.diagnostics.GraphPanel.java
/** * Creating Wakelock state for graph plot *//*www. ja va 2 s .c o m*/ private static void populateWakelockStatePlot(XYPlot plot, TraceData.Analysis analysis) { final XYIntervalSeriesCollection wakelockData = new XYIntervalSeriesCollection(); if (analysis != null) { XYIntervalSeries series = new XYIntervalSeries(WakelockState.WAKELOCK_ACQUIRED); wakelockData.addSeries(series); // Populate the data set final Map<Double, WakelockInfo> dataMap = new HashMap<Double, WakelockInfo>(); Iterator<WakelockInfo> iter = analysis.getWakelockInfos().iterator(); if (iter.hasNext()) { WakelockInfo lastEvent = iter.next(); logger.fine("Wakelock Plotting"); // Check whether WAKELOCK was acquired before logging begins. if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_RELEASED) { series.add(0, 0, lastEvent.getBeginTimeStamp(), 0.5, 0, 1); dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent); } while (iter.hasNext()) { WakelockInfo currEvent = iter.next(); if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_ACQUIRED) { logger.fine("Wakelock acquired curr " + currEvent.getBeginTimeStamp()); logger.fine("Wakelock acquired last " + lastEvent.getBeginTimeStamp()); series.add(lastEvent.getBeginTimeStamp(), lastEvent.getBeginTimeStamp(), currEvent.getBeginTimeStamp(), 0.5, 0, 1); dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent); } lastEvent = currEvent; } if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_ACQUIRED) { series.add(lastEvent.getBeginTimeStamp(), lastEvent.getBeginTimeStamp(), analysis.getTraceData().getTraceDuration(), 0.5, 0, 1); dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent); } } // Assign ToolTip to renderer XYItemRenderer renderer = plot.getRenderer(); renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { WakelockInfo wi = dataMap.get(dataset.getXValue(series, item)); if (wi != null) { StringBuffer displayInfo = new StringBuffer(rb.getString("wakelock.tooltip.prefix")); displayInfo.append(MessageFormat.format(rb.getString("wakelock.tooltip.content"), ResourceBundleManager.getEnumString(wi.getWakelockState()), wi.getBeginTimeStamp())); displayInfo.append(rb.getString("wakelock.tooltip.suffix")); return displayInfo.toString(); } return null; } }); } plot.setDataset(wakelockData); }
From source file:com.att.aro.diagnostics.GraphPanel.java
private static void populateBurstPlot(XYPlot plot, TraceData.Analysis analysis) { final XYIntervalSeriesCollection burstDataCollection = new XYIntervalSeriesCollection(); if (analysis != null) { Map<BurstCategory, XYIntervalSeries> seriesMap = new EnumMap<BurstCategory, XYIntervalSeries>( BurstCategory.class); final Map<BurstCategory, List<Burst>> burstMap = new HashMap<BurstCategory, List<Burst>>(); for (BurstCategory eventType : BurstCategory.values()) { XYIntervalSeries series = new XYIntervalSeries(eventType); seriesMap.put(eventType, series); burstDataCollection.addSeries(series); burstMap.put(eventType, new ArrayList<Burst>()); }/* ww w . j ava 2s .co m*/ final List<Burst> burstStates = analysis.getBurstInfos(); Iterator<Burst> iter = burstStates.iterator(); while (iter.hasNext()) { Burst currEvent = iter.next(); if (currEvent != null) { BurstCategory burstState = currEvent.getBurstCategory(); if (burstState != null) { seriesMap.get(burstState).add(currEvent.getBeginTime(), currEvent.getBeginTime(), currEvent.getEndTime(), 0.5, 0, 1); burstMap.get(burstState).add(currEvent); } } } Color myGreen = new Color(34, 177, 76); Color lightGreen = new Color(134, 232, 162); XYItemRenderer renderer = plot.getRenderer(); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.TCP_PROTOCOL), Color.blue); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.TCP_LOSS_OR_DUP), Color.black); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.USER_INPUT), myGreen); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.SCREEN_ROTATION), lightGreen); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.CLIENT_APP), Color.red); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.SERVER_NET_DELAY), Color.yellow); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.LONG), Color.gray); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.PERIODICAL), Color.magenta); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.CPU), Color.cyan); renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.UNKNOWN), Color.darkGray); // Assign ToolTip to renderer renderer.setBaseToolTipGenerator(new XYToolTipGenerator() { @Override public String generateToolTip(XYDataset dataset, int series, int item) { BurstCategory eventType = (BurstCategory) burstDataCollection.getSeries(series).getKey(); Burst b = burstMap.get(eventType).get(item); final String PREFIX = "BurstCategory."; return MessageFormat.format(rb.getString(PREFIX + eventType.ordinal()), b.getPackets().size(), b.getBurstBytes(), b.getBurstThroughPut()); } }); } plot.setDataset(burstDataCollection); }