Index: trunk/psastro/src/psastroAnalysis.c
===================================================================
--- trunk/psastro/src/psastroAnalysis.c	(revision 16079)
+++ trunk/psastro/src/psastroAnalysis.c	(revision 16251)
@@ -5,4 +5,7 @@
     bool status;
     int nStars;
+
+    // measure the total elapsed time in psastroAnalysis.
+    psTimerStart ("psastroAnalysis");
 
     // select the current recipe
Index: trunk/psastro/src/psastroChipAstrom.c
===================================================================
--- trunk/psastro/src/psastroChipAstrom.c	(revision 16079)
+++ trunk/psastro/src/psastroChipAstrom.c	(revision 16251)
@@ -71,4 +71,7 @@
 		}
 
+		// write the elapsed time here; this will be updated in psastroMosaicAstrometry, if called
+		psMetadataAddF32 (updates, PS_LIST_TAIL, "DT_ASTR", PS_META_REPLACE, "elapsed psastro time", psTimerMark ("psastroAnalysis"));
+
 		pmAstromWriteWCS (updates, fpa, chip, NONLIN_TOL);
 		psMetadataAdd (readout->analysis, PS_LIST_TAIL, "PSASTRO.HEADER",  PS_DATA_METADATA, "psastro header stats", updates);
Index: trunk/psastro/src/psastroMosaicAstrom.c
===================================================================
--- trunk/psastro/src/psastroMosaicAstrom.c	(revision 16079)
+++ trunk/psastro/src/psastroMosaicAstrom.c	(revision 16251)
@@ -129,4 +129,7 @@
     }
 
+    // write the elapsed time here; this will be updated in psastroMosaicAstrometry, if called
+    psMetadataAddF32 (updates, PS_LIST_TAIL, "DT_ASTR", PS_META_REPLACE, "elapsed psastro time", psTimerMark ("psastroAnalysis"));
+
     psMetadataAddMetadata (fpa->analysis, PS_LIST_TAIL, "PSASTRO.HEADER",  PS_META_REPLACE, "psastro header stats", updates);
     psFree (updates);
