@Override protected void afterPlot(List<? super InstanceStatistics> list, JFreeChart chart, XYPlot plot) { NumberAxis sizeAxis = (NumberAxis) plot.getRangeAxis(0); Font labelFont = sizeAxis.getLabelFont(); Paint labelPaint = sizeAxis.getLabelPaint(); TimeSeries tm = new TimeSeries("memory"); for (int i = 0; i < list.size(); i++) { double memory = 0; MapStatistics mapStatistics = (MapStatistics) list.get(i); for (MapStatistics.LocalMapStatistics localMapStatistics : mapStatistics.getListOfLocalStats()) { memory = memory + localMapStatistics.ownedEntryMemoryCost + localMapStatistics.backupEntryMemoryCost + localMapStatistics.markedAsRemovedMemoryCost; } double mem = new Double(memory / (double) (1024 * 1024)); tm.addOrUpdate(new Second(((MapStatistics) list.get(i)).getCreatedDate()), mem); } NumberAxis memoryAxis = new NumberAxis("memory (MB)"); memoryAxis.setAutoRange(true); memoryAxis.setAutoRangeIncludesZero(false); plot.setDataset(1, new TimeSeriesCollection(tm)); plot.setRangeAxis(1, memoryAxis); plot.mapDatasetToRangeAxis(1, 1); plot.setRenderer(1, new StandardXYItemRenderer()); plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); increaseRange(memoryAxis); memoryAxis.setLabelFont(labelFont); memoryAxis.setLabelPaint(labelPaint); }
/** * Change the data set of the Frame, that redraws the entire frame. * * @param dataAsArray New data to show. */ public void updateDataSet(CustomTimeSeriesDataItem[] dataAsArray) { timeSeries.clear(); int currentItem = 1; for (CustomTimeSeriesDataItem dataItem : dataAsArray) { timeSeries.addOrUpdate(new Year(currentItem), dataItem.getValue()); currentItem++; } }
@Override public void addMeasurement(Measurement measurement) { log.debug("Adding measurement"); final TimeSeries timeSeries = new TimeSeries(measurement.getLabel()); timeSeries.setKey(measurement.getLabel()); for (CapabilityValue value : measurement.getValues()) { timeSeries.addOrUpdate(new Second(value.getGatherTimestamp()), value.getNumericValue()); } data.addSeries(timeSeries); measurements.put(measurement.getId(), measurement); }
protected void customIncrement() { if (timeSeries != null && timeSeries.length > 0) { if (seriesNames == null) { seriesNames = new ArrayList<Comparable<?>>(); seriesMap = new HashMap<Comparable<?>, TimeSeries>(); labelsMap = new HashMap<Comparable<?>, Map<RegularTimePeriod, String>>(); itemHyperlinks = new HashMap<Comparable<?>, Map<RegularTimePeriod, JRPrintHyperlink>>(); } for (int i = 0; i < timeSeries.length; i++) { JRFillTimeSeries crtTimeSeries = timeSeries[i]; Comparable<?> seriesName = crtTimeSeries.getSeries(); if (seriesName == null) { throw new JRRuntimeException("Time series name is null."); } TimeSeries series = seriesMap.get(seriesName); if (series == null) { series = new TimeSeries(seriesName.toString(), getTimePeriod()); seriesNames.add(seriesName); seriesMap.put(seriesName, series); } RegularTimePeriod tp = RegularTimePeriod.createInstance( getTimePeriod(), crtTimeSeries.getTimePeriod(), getTimeZone()); series.addOrUpdate(tp, crtTimeSeries.getValue()); if (crtTimeSeries.getLabelExpression() != null) { Map<RegularTimePeriod, String> seriesLabels = labelsMap.get(seriesName); if (seriesLabels == null) { seriesLabels = new HashMap<RegularTimePeriod, String>(); labelsMap.put(seriesName, seriesLabels); } seriesLabels.put(tp, crtTimeSeries.getLabel()); } if (crtTimeSeries.hasItemHyperlink()) { Map<RegularTimePeriod, JRPrintHyperlink> seriesLinks = itemHyperlinks.get(seriesName); if (seriesLinks == null) { seriesLinks = new HashMap<RegularTimePeriod, JRPrintHyperlink>(); itemHyperlinks.put(seriesName, seriesLinks); } seriesLinks.put(tp, crtTimeSeries.getPrintItemHyperlink()); } } } }
/** * This method adds the specified stream elements to the timeSeries of the appropriate plot. * * @param streamElement */ public synchronized void addData(StreamElement streamElement) { for (int i = 0; i < streamElement.getFieldNames().length; i++) { TimeSeries timeSeries = dataForTheChart.get(streamElement.getFieldNames()[i]); if (timeSeries == null) { dataForTheChart.put( streamElement.getFieldNames()[i], timeSeries = new TimeSeries( streamElement.getFieldNames()[i], org.jfree.data.time.FixedMillisecond.class)); timeSeries.setMaximumItemCount(historySize); dataCollectionForTheChart.addSeries(timeSeries); } try { timeSeries.addOrUpdate( new FixedMillisecond(new Date(streamElement.getTimeStamp())), Double.parseDouble(streamElement.getData()[i].toString())); } catch (SeriesException e) { logger.warn(e.getMessage(), e); } } changed = true; }
@Override protected JFreeChart createChart(PageDefinition definition, Input input) { Map<String, Map<Long, Double>> allSeries = new HashMap<String, Map<Long, Double>>(); for (Sample sample : input.getSamples()) { Map<Long, Double> duration = allSeries.get(sample.getLabel()); if (duration == null) { duration = new HashMap<Long, Double>(); allSeries.put(sample.getLabel(), duration); } duration.put(sample.getTimestamp(), sample.getValue()); } TimeSeriesCollection dataset = new TimeSeriesCollection(); for (String label : allSeries.keySet()) { Map<Long, Double> duration = allSeries.get(label); TimeSeries series = new TimeSeries(label); for (Long key : duration.keySet()) { series.addOrUpdate(new Millisecond(new Date(key)), duration.get(key)); } dataset.addSeries(series); } return ChartFactory.createTimeSeriesChart(definition.getTitle(), "Time", "Value", dataset); }
protected void addTimeSeriesItem(DateTime instant, ExactEstimate value, TimeSeries timeSeries) { timeSeries.addOrUpdate( new Second(instant.toDateMidnight().toDateTime().toDate()), ExactEstimateUtils.extractMajorUnits(value)); }
public void updateAccelerationSeries(Step step, long timestamp) { accelerationSeries.addOrUpdate( new TimeSeriesDataItem(new FixedMillisecond(timestamp), step.getClusterId())); }
public void updateVelocitySeries(Step step, long timestamp) { velocitySeries.addOrUpdate( new TimeSeriesDataItem(new FixedMillisecond(timestamp), step.getClusterId())); }
public void updateGui(final Calculator tot) { m_average.addOrUpdate(new Millisecond(), tot.getMean()); m_tps.addOrUpdate(new Millisecond(), tot.getRate()); m_deviation.addOrUpdate(new Millisecond(), tot.getStandardDeviation()); }