in src/main/java/org/apache/sling/commons/metrics/rrd4j/impl/RRD4JReporter.java [366:389]
private static RrdDb createDB(RrdDef definition) throws IOException {
File dbFile = new File(definition.getUri());
if (!dbFile.getParentFile().exists()) {
if (!dbFile.getParentFile().mkdirs()) {
throw new IOException("Unable to create directory for RRD file: " + dbFile.getParent());
}
}
RrdDb db = null;
if (dbFile.exists()) {
db = RrdDb.of(definition.getUri());
if (!db.getRrdDef().equals(definition)) {
// definition changed -> re-create DB
db.close();
File renamed = renameDB(dbFile);
LOGGER.info("Configuration changed, renamed existing RRD file to: {}",
renamed.getPath());
db = null;
}
}
if (db == null) {
db = new RrdDb(definition);
}
return db;
}