Index: trunk/ppStack/src/ppStackLoop.c
===================================================================
--- trunk/ppStack/src/ppStackLoop.c	(revision 21199)
+++ trunk/ppStack/src/ppStackLoop.c	(revision 21258)
@@ -249,4 +249,6 @@
 
     memDump("start");
+
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 0 : Initialization and Configuration : %f sec", psTimerClear("PPSTACK_STEPS"));
 
     // Preparation iteration: Load the sources, and get a target PSF model
@@ -380,4 +382,5 @@
     }
 
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 1 : Load Sources and Generate Target PSF : %f sec", psTimerClear("PPSTACK_STEPS"));
     memDump("psf");
 
@@ -509,4 +512,6 @@
     psFree(rng);
 
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 2 : Generate Convolutions and Save : %f sec", psTimerClear("PPSTACK_STEPS"));
+
     if (numGood == 0) {
         psError(PS_ERR_UNKNOWN, false, "No good images to combine.");
@@ -613,4 +618,5 @@
 #endif
 
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 3 : Basic Image Rejection  : %f sec", psTimerClear("PPSTACK_STEPS"));
 
     // Start threading
@@ -762,4 +768,5 @@
                          "Time to make initial stack", psTimerMark("PPSTACK_INITIAL"));
     }
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 4 : Make Initial Stack : %f sec", psTimerClear("PPSTACK_STEPS"));
     psLogMsg("ppStack", PS_LOG_INFO, "Time to make initial stack: %f sec", psTimerClear("PPSTACK_INITIAL"));
 
@@ -912,6 +919,7 @@
                              "Number of images rejected completely", numRejected);
         }
-   }
-
+    }
+
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 5 : Pixel Rejection : %f sec", psTimerClear("PPSTACK_STEPS"));
     psTimerStart("PPSTACK_FINAL");
 
@@ -976,4 +984,6 @@
                          "Time to make final stack", psTimerMark("PPSTACK_FINAL"));
     }
+
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 6 : Final Stack : %f sec", psTimerClear("PPSTACK_STEPS"));
     psLogMsg("ppStack", PS_LOG_INFO, "Time to make final stack: %f sec", psTimerClear("PPSTACK_FINAL"));
 
@@ -1071,4 +1081,6 @@
     }
 
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 7 : WCS & JPEGS : %f sec", psTimerClear("PPSTACK_STEPS"));
+
     if (psMetadataLookupBool(&mdok, recipe, "RENORM")) {
         // Statistics for renormalisation
@@ -1088,4 +1100,6 @@
     }
 
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 8 : Photometry Renormalization : %f sec", psTimerClear("PPSTACK_STEPS"));
+
     if (psMetadataLookupBool(&mdok, recipe, "PHOTOMETRY")) {
         psTrace("ppStack", 1, "Photometering stacked image....\n");
@@ -1117,4 +1131,6 @@
     }
 
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 9 : Photometry Analysis : %f sec", psTimerClear("PPSTACK_STEPS"));
+
     psThreadPoolFinalize();
 
@@ -1170,4 +1186,6 @@
     }
 
+    psLogMsg("ppStack", PS_LOG_INFO, "Stage 10 : Final Output : %f sec", psTimerClear("PPSTACK_STEPS"));
+
     memDump("finish");
 
