diff --git a/lib/stack.js b/lib/stack.js
index <HASH>..<HASH> 100644
--- a/lib/stack.js
+++ b/lib/stack.js
@@ -203,10 +203,27 @@ Stack.prototype.run = function(name, region, revision, user, finalCallback) {
 
   tasks = target.map(function(taskName) {
     return function(callback) {
+      var startTime, endTime, diff;
+
       baton.log.infof('executing task ${task}', {
         task: taskName
       });
-      self.module[taskName](self, baton, args, callback);
+
+      startTime = misc.getUnixTimestamp();
+      self.module[taskName](self, baton, args, function onEnd() {
+        var args = arguments;
+        endTime = misc.getUnixTimestamp();
+        dif = (endTime - startTime);
+
+        baton.log.infof('task ${task} finished', {
+          task: taskName,
+          start_time: startTime,
+          end_time: endTime,
+          took: diff
+        });
+
+        callback.apply(self, args);
+      });
     };
   });
Log when task execution finishes and how long it took.