RrdUtils.createRRD log message is unclear
Description
Acceptance / Success Criteria
Lucidchart Diagrams
Activity

Seth Leger October 21, 2015 at 4:09 PM
Fixed in 18.
commit f0b7bd8211baf82bf6e605cd004e8ecb094f988f

Ron Roskens November 5, 2012 at 11:53 AM
It looks like the logging of the files being created has been moved into the strategy classes. I do have to say there is some inconsistency with the log messages when a new RRD file is created.
JniRrdStrategy does this:
log().debug("Executing: rrdtool "+createCommand.toString());
while JRobinRrdStrategy does this:
log().info("createRRD: creating RRD file " + rrdDef.getPath());
I think that JniRrdStrategy should also log this:
log().info("createRRD: creating RRD file " + createCommand.getPath());
so that you can grep for 'createRRD:' to see when files have been created. The getPath() method would need to be added to the static class CreateCommand in JniRrdStrategy to return the filename.

Seth Leger November 5, 2012 at 10:50 AM
Has this branch been merged to master for inclusion in a 1.11 release yet?
Simon Walter August 25, 2012 at 8:34 PM
fixed by refactoring in branch: feature-nrtg-collectd commit: f3f7fce4957ba50b4bbfb501e66bdf79eb7ef673

Ron Roskens June 18, 2012 at 7:07 PM
QueuingRrdStrategy returns a new object when createDefinition() is called.
JRobinRrdStrategy returns null if the file exists.
MultiOutputRrdStrategy returns a list object of all createDefinition() values returned.
I guess I was only checking JRobinRrdStrategy and forgot about the QueuingRrdStrategy.
org.opennms.netmgt.rrd.RrdUtils has a method createRRD() which is used to create the RRD files for the data collections. This method logs an informational log message of 'createRRD: creating RRD file ${rrdFile}' for every call to that method.
Unfortunately, this isn't really true. The RRD file is only created if the file does not already exist. RrdStrategy.createDefinition() will return null if the underlying file already exists.
This will cut down on some unnecessary logging, and also be more informative to the admin's on when the files are actually created.
diff --git a/opennms-rrd/opennms-rrd-api/src/main/java/org/opennms/netmgt/rrd/RrdUtils.java b/opennms-rrd/opennms-rrd-api/src/main/java/org/opennms/netmgt/rrd/RrdUtils.java
index 02cd883..dc5de2a 100644
— a/opennms-rrd/opennms-rrd-api/src/main/java/org/opennms/netmgt/rrd/RrdUtils.java
+++ b/opennms-rrd/opennms-rrd-api/src/main/java/org/opennms/netmgt/rrd/RrdUtils.java
@@ -181,10 +181,11 @@ public abstract class RrdUtils {
String completePath = directory + File.separator + fileName;
log().info("createRRD: creating RRD file " + completePath);
-
try {
Object def = getStrategy().createDefinition(creator, directory, rrdName, step, dataSources, rraList);
+ if (def != null) {
+ log().info("createRRD: creating RRD file " + completePath);
+ }
getStrategy().createFile(def);
return true;
} catch (Throwable e) {