protected void writeCsv(OutputStream out, DataProcessor dp, DateFormat exportDateFormat) throws IOException { String sources[] = dp.getSourceNames(); StringBuilder sourcesline = new StringBuilder(); sourcesline.append("Date,"); for(String name: sources) { if(!name.startsWith("rev_")) sourcesline.append(name).append(","); } sourcesline.deleteCharAt(sourcesline.length() - 1); sourcesline.append("\r\n"); out.write(sourcesline.toString().getBytes()); double[][] values = dp.getValues(); long[] ts = dp.getTimestamps(); for(int i = 0; i < ts.length; i++) { sourcesline.setLength(0); sourcesline.append(exportDateFormat.format(org.rrd4j.core.Util.getDate(ts[i]))).append(","); for(int j = 0; j < sources.length; j++) { if(!sources[j].startsWith("rev_")) sourcesline.append(values[j][i]).append(","); } sourcesline.deleteCharAt(sourcesline.length() - 1); sourcesline.append("\r\n"); out.write(sourcesline.toString().getBytes()); } } }
/** * Normalize to a probe step, as org.rrd4j.core.Util.normalize But use a * Date argument and return a Date * * @param date A Date to normalize * @param step Step in seconds * @return "Rounded" Date */ public static Date normalize(Date date, long step) { long timestamp = org.rrd4j.core.Util.getTimestamp(date); return org.rrd4j.core.Util.getDate(org.rrd4j.core.Util.normalize(timestamp, step)); }
static public Period getPeriod(Probe<?, ?> p, long endSec) { Date end = org.rrd4j.core.Util.getDate(endSec); Calendar calBegin = Calendar.getInstance(); calBegin.setTime(end); calBegin.add(Calendar.MONTH, -1); Date begin = calBegin.getTime(); end = jrds.Util.normalize(end, p.getStep()); Period pr = null; try { pr = new Period(Long.toString(begin.getTime()), Long.toString(end.getTime())); } catch (ParseException e) { } return pr; }
/** * Return the date of the last update of the rrd backend * * @return The date */ public Date getLastUpdate() { Date lastUpdate = null; RrdDb rrdDb = null; try { rrdDb = factory.getRrd(getPath()); lastUpdate = Util.getDate(rrdDb.getLastUpdateTime()); } catch (Exception e) { throw new RuntimeException("Unable to get last update date for " + p.getQualifiedName(), e); } finally { if(rrdDb != null) factory.releaseRrd(rrdDb); } return lastUpdate; }
void appendXml(XmlWriter writer) throws IOException { writer.writeComment(signature.get()); writer.writeTag("version", RRDTOOL_VERSION3); writer.writeComment("Seconds"); writer.writeTag("step", step.get()); writer.writeComment(Util.getDate(lastUpdateTime.get())); writer.writeTag("lastupdate", lastUpdateTime.get()); }
void appendXml(XmlWriter writer) throws IOException { writer.writeComment(signature.get()); writer.writeTag("version", RRDTOOL_VERSION); writer.writeComment("Seconds"); writer.writeTag("step", step.get()); writer.writeComment(Util.getDate(lastUpdateTime.get())); writer.writeTag("lastupdate", lastUpdateTime.get()); }
writer.startTag("request"); writer.writeTag("file", request.getParentDb().getPath()); writer.writeComment(Util.getDate(request.getFetchStart())); writer.writeTag("start", request.getFetchStart()); writer.writeComment(Util.getDate(request.getFetchEnd())); writer.writeTag("end", request.getFetchEnd()); writer.writeTag("resolution", request.getResolution()); for (int i = 0; i < timestamps.length; i++) { writer.startTag("row"); writer.writeComment(Util.getDate(timestamps[i])); writer.writeTag("timestamp", timestamps[i]); writer.startTag("values");
writer.startTag("request"); writer.writeTag("file", request.getParentDb().getPath()); writer.writeComment(Util.getDate(request.getFetchStart())); writer.writeTag("start", request.getFetchStart()); writer.writeComment(Util.getDate(request.getFetchEnd())); writer.writeTag("end", request.getFetchEnd()); writer.writeTag("resolution", request.getResolution()); for (int i = 0; i < timestamps.length; i++) { writer.startTag("row"); writer.writeComment(Util.getDate(timestamps[i])); writer.writeTag("timestamp", timestamps[i]); writer.startTag("values");
void appendXml(XmlWriter writer) throws IOException { writer.startTag("rra"); writer.writeTag("cf", consolFun.get()); writer.writeComment(getArcStep() + " seconds"); writer.writeTag("pdp_per_row", steps.get()); writer.writeTag("xff", xff.get()); writer.startTag("cdp_prep"); for (ArcState state : states) { state.appendXml(writer); } writer.closeTag(); // cdp_prep writer.startTag("database"); long startTime = getStartTime(); for (int i = 0; i < rows.get(); i++) { long time = startTime + i * getArcStep(); writer.writeComment(Util.getDate(time) + " / " + time); writer.startTag("row"); for (Robin robin : robins) { writer.writeTag("v", robin.getValue(i)); } writer.closeTag(); // row } writer.closeTag(); // database writer.closeTag(); // rra }
void appendXml(XmlWriter writer) throws IOException { writer.startTag("rra"); writer.writeTag("cf", consolFun.name()); writer.writeComment(getArcStep() + " seconds"); writer.writeTag("pdp_per_row", steps.get()); writer.startTag("params"); writer.writeTag("xff", xff.get()); writer.closeTag(); // params writer.startTag("cdp_prep"); for (ArcState state : states) { state.appendXml(writer); } writer.closeTag(); // cdp_prep writer.startTag("database"); long startTime = getStartTime(); for (int i = 0; i < rows.get(); i++) { long time = startTime + i * getArcStep(); writer.writeComment(Util.getDate(time) + " / " + time); writer.startTag("row"); for (Robin robin : robins) { writer.writeTag("v", robin.getValue(i)); } writer.closeTag(); // row } writer.closeTag(); // database writer.closeTag(); // rra }