? boost-602102.patch
Index: boost.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/boost/boost.admin.inc,v
retrieving revision 1.1.2.1.2.3.2.88
diff -u -p -r1.1.2.1.2.3.2.88 boost.admin.inc
--- boost.admin.inc	15 Oct 2009 08:58:08 -0000	1.1.2.1.2.3.2.88
+++ boost.admin.inc	18 Oct 2009 01:57:57 -0000
@@ -603,6 +603,14 @@ function boost_admin_boost_performance_p
       '#value' => t('Reset Crawler & Cron Semaphore'),
       '#submit' => array('boost_reset_crawler_submit'),
     );
+    if (BOOST_CRAWL_ON_CRON) {
+      $form['crawler']['boost_crawler_eta'] = array(
+        '#type'          => 'textfield',
+        '#title'         => t('Estimated Time to crawl site - highly inaccurate'),
+        '#default_value' => format_interval(boost_count_db(2) * boost_average_time()),
+        '#disabled'      => TRUE,
+      );
+    }
   }
 
   // Apache .htaccess settings generation
Index: boost.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/boost/boost.module,v
retrieving revision 1.3.2.2.2.5.2.190
diff -u -p -r1.3.2.2.2.5.2.190 boost.module
--- boost.module	14 Oct 2009 08:55:27 -0000	1.3.2.2.2.5.2.190
+++ boost.module	18 Oct 2009 01:57:58 -0000
@@ -667,9 +667,20 @@ function boost_block($op = 'list', $delt
             $output = t('This page is being served <strong>live</strong> to anonymous visitors, as it is not currently in the static page cache.');
 
             if (boost_is_cached($GLOBALS['_boost_path'])) {
-              $ttl = boost_db_get_ttl(boost_file_path($GLOBALS['_boost_path']));
-              $output = t('This page is being served to anonymous visitors from the static page cache.') . ' ';
-              $output .= $ttl < 0 ? t('<strong>The cached copy expired %interval ago.</strong>', array('%interval' => format_interval(abs($ttl)))) : t('The cached copy will expire in %interval.', array('%interval' => format_interval(abs($ttl))));
+              $filename = boost_file_path($GLOBALS['_boost_path']);
+              $ttl = boost_db_get_ttl($filename);
+              $generate = boost_get_generation_time($filename);
+              $output = '';
+              if (boost_has_site_changed()) {
+                $output .= t('Globally the site has changed.') . ' ';
+              }
+              $output .= t('This page is being served to anonymous visitors from the static page cache. Took %time seconds to generate this cached page.', array('%time' => round($generate,3))) . ' ';
+              if ($ttl < 0) {
+                $output .= t('<strong>The cached copy expired %interval ago.</strong>', array('%interval' => format_interval(abs($ttl))));
+              }
+              else {
+                $output .= t('The cached copy will expire in %interval.', array('%interval' => format_interval(abs($ttl))));
+              }
               $output .=  drupal_get_form('boost_block_flush_form');
             }
             $error = FALSE;
@@ -2072,6 +2083,16 @@ function boost_file_path($path, $query =
 }
 
 /**
+ * Returns the time it took to generate this cached page.
+ * @param $filename
+ *   Name of cached file
+ */
+function boost_get_generation_time($filename) {
+  $boost_db = boost_get_db($filename);
+  return $boost_db['timer_average'] != 0 ? $boost_db['timer_average']/1000.0 : FALSE;
+}
+
+/**
  * Returns the age of a cached file, measured in seconds since it was last
  * updated.
  * @param $filename
