diff --git a/pom.xml b/pom.xml
index c6f4845..267c6af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,5 +112,5 @@
kettle-debug-plugin
- 1.5.0-SNAPSHOT
+ 1.6.0-SNAPSHOT
diff --git a/src/main/java/org/kettle/util/DebugLevelUtil.java b/src/main/java/org/kettle/util/DebugLevelUtil.java
index a2132f7..a7f1666 100644
--- a/src/main/java/org/kettle/util/DebugLevelUtil.java
+++ b/src/main/java/org/kettle/util/DebugLevelUtil.java
@@ -12,6 +12,7 @@
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.Map;
+import java.util.concurrent.TimeUnit;
public class DebugLevelUtil {
@@ -95,4 +96,27 @@ public static JobEntryDebugLevel getJobEntryDebugLevel( Map debu
return debugLevel;
}
+
+ public static String getDurationHMS(double seconds) {
+ int day = (int) TimeUnit.SECONDS.toDays((long)seconds);
+ long hours = TimeUnit.SECONDS.toHours((long)seconds) - (day *24);
+ long minute = TimeUnit.SECONDS.toMinutes((long)seconds) - (TimeUnit.SECONDS.toHours((long)seconds)* 60);
+ long second = TimeUnit.SECONDS.toSeconds((long)seconds) - (TimeUnit.SECONDS.toMinutes((long)seconds) *60);
+ long ms = (long)((seconds - ((long)seconds))*1000);
+
+ StringBuilder hms = new StringBuilder();
+ if (day>0) {
+ hms.append( day + "d " );
+ }
+ if (day>0 || hours>0) {
+ hms.append(hours + "h ");
+ }
+ if (day>0 || hours>0 || minute>0) {
+ hms.append(String.format( "%2d", minute ) + "' ");
+ }
+ hms.append(String.format( "%2d", second ) + ".");
+ hms.append(String.format("%03d", ms)+"\"");
+
+ return hms.toString();
+ }
}
diff --git a/src/main/java/org/kettle/xp/LogJobExecutionTimeExtensionPoint.java b/src/main/java/org/kettle/xp/LogJobExecutionTimeExtensionPoint.java
index df42f98..c0d6d93 100644
--- a/src/main/java/org/kettle/xp/LogJobExecutionTimeExtensionPoint.java
+++ b/src/main/java/org/kettle/xp/LogJobExecutionTimeExtensionPoint.java
@@ -1,5 +1,6 @@
package org.kettle.xp;
+import org.kettle.util.DebugLevelUtil;
import org.kettle.util.Defaults;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.core.extension.ExtensionPoint;
@@ -42,23 +43,9 @@ public class LogJobExecutionTimeExtensionPoint implements ExtensionPointInterfac
job.addJobListener( new JobAdapter() {
@Override public void jobFinished( Job job ) throws KettleException {
long endTime = System.currentTimeMillis();
-
double seconds = ((double)endTime - (double)startTime) / 1000;
- int day = (int)TimeUnit.SECONDS.toDays((long)seconds);
- long hours = TimeUnit.SECONDS.toHours((long)seconds) - (day *24);
- long minute = TimeUnit.SECONDS.toMinutes((long)seconds) - (TimeUnit.SECONDS.toHours((long)seconds)* 60);
- long second = TimeUnit.SECONDS.toSeconds((long)seconds) - (TimeUnit.SECONDS.toMinutes((long)seconds) *60);
- long ms = (long)((seconds - ((long)seconds))*1000);
-
-
+ log.logBasic("Job duration : "+ seconds+" seconds [ "+ DebugLevelUtil.getDurationHMS( seconds ) +" ]");
- log.logBasic("Job duration : "+
- seconds+" seconds [ "+
- day+"d "+
- hours+"h "+
- String.format("%02d", minute)+"' "+
- String.format("%02d", second)+"."+
- String.format("%03d", ms)+"\"]");
}
} );
}
diff --git a/src/main/java/org/kettle/xp/LogTransExecutionTimeExtensionPoint.java b/src/main/java/org/kettle/xp/LogTransExecutionTimeExtensionPoint.java
index a8e737c..759fb50 100644
--- a/src/main/java/org/kettle/xp/LogTransExecutionTimeExtensionPoint.java
+++ b/src/main/java/org/kettle/xp/LogTransExecutionTimeExtensionPoint.java
@@ -1,5 +1,6 @@
package org.kettle.xp;
+import org.kettle.util.DebugLevelUtil;
import org.kettle.util.Defaults;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.core.extension.ExtensionPoint;
@@ -45,21 +46,8 @@ public class LogTransExecutionTimeExtensionPoint implements ExtensionPointInterf
trans.addTransListener( new TransAdapter() {
@Override public void transFinished( Trans trans ) throws KettleException {
long endTime = System.currentTimeMillis();
-
double seconds = ((double)endTime - (double)startTime) / 1000;
- int day = (int)TimeUnit.SECONDS.toDays((long)seconds);
- long hours = TimeUnit.SECONDS.toHours((long)seconds) - (day *24);
- long minute = TimeUnit.SECONDS.toMinutes((long)seconds) - (TimeUnit.SECONDS.toHours((long)seconds)* 60);
- long second = TimeUnit.SECONDS.toSeconds((long)seconds) - (TimeUnit.SECONDS.toMinutes((long)seconds) *60);
- long ms = (long)((seconds - ((long)seconds))*1000);
-
- log.logBasic("Transformation duration : "+
- seconds+" seconds [ "+
- day+"d "+
- hours+"h "+
- String.format("%02d", minute)+"' "+
- String.format("%02d", second)+"."+
- String.format("%03d", ms)+"\"]");
+ log.logBasic("Transformation duration : "+ seconds+" seconds [ "+ DebugLevelUtil.getDurationHMS( seconds ) +" ]");
}
} );