/** * Adds or updates an item in the times series and sends a * {@link SeriesChangeEvent} to all registered listeners. * * @param period the time period to add/update ({@code null} not * permitted). * @param value the new value. * * @return A copy of the overwritten data item, or {@code null} if no * item was overwritten. */ public TimeSeriesDataItem addOrUpdate(RegularTimePeriod period, double value) { return addOrUpdate(period, new Double(value)); }
/** * Adds or updates an item in the times series and sends a * {@link SeriesChangeEvent} to all registered listeners. * * @param period the time period to add/update (<code>null</code> not * permitted). * @param value the new value. * * @return A copy of the overwritten data item, or <code>null</code> if no * item was overwritten. */ public TimeSeriesDataItem addOrUpdate(RegularTimePeriod period, double value) { return addOrUpdate(period, new Double(value)); }
private static void updateSeries( TimeSeries series, Second second, double increment ) { Number old = series.getValue( second ); if ( old == null ) { old = 0d; } double newValue = old.doubleValue() + increment; series.addOrUpdate( second, newValue ); }
/** * Updates the graph. * * @param id Name of the series to update. * @param milli Millisecond (x axis). * @param value Value (y axis). */ public void update(final String id, final Millisecond milli, final double value) { TimeSeries serie = (TimeSeries) series.get(id); synchronized(serie) { serie.addOrUpdate(milli, value); } showMe(); }
/** * Updates the graph. * * @param id Name of the series to update. * @param second Seconds (x axis). * @param value Value (y axis). */ public void update(final String id, final Second second, final double value) { TimeSeries serie = (TimeSeries) series.get(id); synchronized(serie) { serie.addOrUpdate(second, value); } showMe(); }
private void addDataToTimeSeries(final Date zeroDeadline, final TimeSeries ts, final List typeDates, final List typeErrors) { final Iterator dateIter = typeDates.iterator(); final Iterator errorsIter = typeErrors.iterator(); Date lastDateForThisType = null; while (dateIter.hasNext() && errorsIter.hasNext()) { lastDateForThisType = (Date) dateIter.next(); final Integer count = (Integer) errorsIter.next(); ts.addOrUpdate(new FixedMillisecond(lastDateForThisType), count); } // if no statistics for 36h before the LAST Date, assume it fell to 0. if (lastDateForThisType != null && zeroDeadline != null && zeroDeadline.after(lastDateForThisType)) { ts.addOrUpdate(new FixedMillisecond(lastDateForThisType.getTime() + ONE_DAY_IN_MS), 0); } }
/** * Adds or updates an item in the times series and sends a * {@link SeriesChangeEvent} to all registered listeners. * * @param period the time period to add/update ({@code null} not * permitted). * @param value the new value ({@code null} permitted). * * @return A copy of the overwritten data item, or {@code null} if no * item was overwritten. */ public TimeSeriesDataItem addOrUpdate(RegularTimePeriod period, Number value) { return addOrUpdate(new TimeSeriesDataItem(period, value)); }
/** * Adds or updates an item in the times series and sends a * {@link SeriesChangeEvent} to all registered listeners. * * @param period the time period to add/update (<code>null</code> not * permitted). * @param value the new value (<code>null</code> permitted). * * @return A copy of the overwritten data item, or <code>null</code> if no * item was overwritten. */ public TimeSeriesDataItem addOrUpdate(RegularTimePeriod period, Number value) { return addOrUpdate(new TimeSeriesDataItem(period, value)); }
TimeSeries ts= new TimeSeries("Name of Series"); ts.addOrUpdate(new Year(2008), 42); ts.addOrUpdate(new Year(2009), 51); ts.addOrUpdate(new Year(2010), 97); ts.addOrUpdate(new Year(2011), 45);
public final void extractHeapBefore(TimeSeries heapBeforeSeries) { for (GCSample sample : samples) { heapBeforeSeries.addOrUpdate(getTimestamp(sample), sample.getHeapBefore()); } }
public final void extractHeapAfter(TimeSeries heapAfterSeries) { for (GCSample sample : samples) { heapAfterSeries.addOrUpdate(getTimestamp(sample), sample.getHeapAfter()); } }
TimeSeriesCollection timeSeries = new TimeSeriesCollection(); TimeSeries product1 = new TimeSeries("product1"); new JDBCTemplate("query", params, new ResultSetExtractor<Void>() { public Void extractData(ResultSet rs) throws SQLException { product1.addOrUpdate(new FixedMillisecond(rs.getLong(1)), rs.getDouble(2)); return null; } } <other products to follow>
TimeSeriesCollection dataset = new TimeSeriesCollection(); TimeSeries series = new TimeSeries("Basal", Second.class); for (BasalRate basal : pInsulin.basals) { Second lSecond = new Second(basal.getTime()); series.addOrUpdate(lSecond, basal.getValue()); } dataset.addSeries(series);
private TimeSeries visitAll( String name, HistoricSampleExtractor visitor ) { TimeSeries series = new TimeSeries( name ); Iterator it = samples.iterator(); while ( it.hasNext() ) { HistoricSample sample = (HistoricSample) it.next(); if ( visitor.accept( sample ) ) { Millisecond timestamp = new Millisecond( new Date( sample.getTimestamp() ) ); double value = visitor.extract( sample ); series.addOrUpdate( timestamp, value ); } } return series; }
private TimeSeries computeSingleTimeSeries(InsituRecord[] insituRecords, String insituName) { TimeSeries timeSeries = new TimeSeries(insituName); for (InsituRecord insituRecord : insituRecords) { final ProductData.UTC startTime = ProductData.UTC.create(insituRecord.time, 0); final Millisecond timePeriod = new Millisecond(startTime.getAsDate(), ProductData.UTC.UTC_TIME_ZONE, Locale.getDefault()); timeSeries.addOrUpdate(timePeriod, insituRecord.value); } return timeSeries; }
/** * create a TimeSeries of responsetimes. * Note that if several requests are spawned at the same millisecond, * only one of them will be part of this TimeSeries * @return */ public final TimeSeries createResponseTimeSeries() { if ( samples.isEmpty() ) { return this.responseTimeSeries; } for ( ResponsetimeSample sample : samples ) { Millisecond timestamp = ModelUtil.createMillis( sample.getStartTime() ); Integer responseTime = sample.getResponsetime(); this.responseTimeSeries.addOrUpdate( timestamp, responseTime ); } return this.responseTimeSeries; }
public void doSummarizerTrendGraph(StaplerRequest request, StaplerResponse response) throws IOException { TimeSeries responseTimes = new TimeSeries("Response Time", FixedMillisecond.class); synchronized (samples) { for (Sample sample : samples) { if (isIncludeResponseTime(sample)) { responseTimes.addOrUpdate(new FixedMillisecond(sample.date), sample.duration); } } } TimeSeriesCollection resp = new TimeSeriesCollection(); resp.addSeries(responseTimes); ArrayList<XYDataset> dataset = new ArrayList<>(); dataset.add(resp); ChartUtil.generateGraph(request, response, PerformanceProjectAction.createSummarizerTrend(dataset, uri), 400, 200); }
/** * Adds or updates data from one series to another. Returns another series * containing the values that were overwritten. * * @param series the series to merge with this. * * @return A series containing the values that were overwritten. */ public TimeSeries addAndOrUpdate(TimeSeries series) { TimeSeries overwritten = new TimeSeries("Overwritten values from: " + getKey()); for (int i = 0; i < series.getItemCount(); i++) { TimeSeriesDataItem item = series.getRawDataItem(i); TimeSeriesDataItem oldItem = addOrUpdate(item.getPeriod(), item.getValue()); if (oldItem != null) { overwritten.add(oldItem); } } return overwritten; }
public static JFreeChart getStepChart(String title, TSContainer2 container) { TimeSeriesCollection tempDataSet = new TimeSeriesCollection(); for (int i = 0; i < container.getNumColumns(); i++) { DoubleColumn dc = (DoubleColumn) container.getColumns().get(i); List<TimeStamp> ts = container.getTimeStamps(); TimeSeries tsNew = new TimeSeries(container.getColumnHeaders().get(i)); for (int j = 0; j < dc.size(); j++) tsNew.addOrUpdate(new Millisecond(ts.get(j).getDate()), dc.get(j)); // add a new series. tempDataSet.addSeries(tsNew); } JFreeChart chart = ChartFactory.createXYStepChart(title, "Time", "Value", tempDataSet, PlotOrientation.VERTICAL, true, true, false); chart.setBackgroundPaint(Color.WHITE); chart.getPlot().setBackgroundPaint(Color.WHITE); ((XYPlot)chart.getPlot()).setDomainGridlinePaint(Color.LIGHT_GRAY); ((XYPlot)chart.getPlot()).setRangeGridlinePaint(Color.LIGHT_GRAY); return chart; } }
private IntervalXYDataset createDataset(List<DataSet> lContainer) { TimeSeriesCollection dataset = new TimeSeriesCollection(); for(DataSet container : lContainer) { TimeSeries ts = new TimeSeries(container.getLabel()); for(Data data : container.getData()) { Date d = DateUtil.getDateFromInt(data.getRecord().getYear(), data.getRecord().getMonth(), data.getRecord().getDay()); ts.addOrUpdate(new Hour(d), data.getY()); } dataset.addSeries(ts); } return dataset; } }