@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());
        }
      }
    }
  }
예제 #5
0
 /**
  * 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()));
 }
예제 #10
0
 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());
 }