parameter.append(dataSource.getName()).append(':'); parameter.append(dataSource.getType()).append(":"); parameter.append(dataSource.getHeartBeat()).append(':');
/** {@inheritDoc} */ @Override public CreateCommand createDefinition(String creator, String directory, String rrdName, int step, List<RrdDataSource> dataSources, List<String> rraList) throws Exception { File f = new File(directory); if (!f.exists()) { if (!f.mkdirs()) { LOG.warn("Could not make directory: {}", f.getPath()); } } String fileName = directory + File.separator + rrdName + getDefaultFileExtension(); if (new File(fileName).exists()) { LOG.debug("createDefinition: filename [{}] already exists returning null as definition", fileName); return null; } int k = 0; final String[] arguments = new String[dataSources.size() + rraList.size()]; final long start = (System.currentTimeMillis() / 1000L - 10L); for (RrdDataSource dataSource : dataSources) { arguments[k++] = String.format("DS:%s:%s:%d:%s:%s", dataSource.getName(), dataSource.getType(), dataSource.getHeartBeat(), dataSource.getMin(), dataSource.getMax()); } for (String rra : rraList) { arguments[k++] = rra; } return new CreateCommand(fileName, step, start, arguments); }
/** {@inheritDoc} */ @Override public RrdDef createDefinition(final String creator, final String directory, final String rrdName, int step, final List<RrdDataSource> dataSources, final List<String> rraList) throws Exception { File f = new File(directory); f.mkdirs(); String fileName = directory + File.separator + rrdName + getDefaultFileExtension(); if (new File(fileName).exists()) { LOG.debug("createDefinition: filename [{}] already exists returning null as definition", fileName); return null; } RrdDef def = new RrdDef(fileName); // def.setStartTime(System.currentTimeMillis()/1000L - 2592000L); def.setStartTime(1000); def.setStep(step); for (RrdDataSource dataSource : dataSources) { String dsMin = dataSource.getMin(); String dsMax = dataSource.getMax(); double min = (dsMin == null || "U".equals(dsMin) ? Double.NaN : Double.parseDouble(dsMin)); double max = (dsMax == null || "U".equals(dsMax) ? Double.NaN : Double.parseDouble(dsMax)); def.addDatasource(dataSource.getName(), dataSource.getType().toString(), dataSource.getHeartBeat(), min, max); } for (String rra : rraList) { def.addArchive(rra); } return def; }