rebaseline_server: add more timing and progress info to server-side log

(SkipBuildbotRuns)
BUG=skia:1941
NOTRY=True
NOTREECHECKS=True
R=bsalomon@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/105213007

git-svn-id: http://skia.googlecode.com/svn/trunk@12777 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/rebaseline_server/results.py b/gm/rebaseline_server/results.py
index 6217568..192a009 100755
--- a/gm/rebaseline_server/results.py
+++ b/gm/rebaseline_server/results.py
@@ -64,11 +64,14 @@
       generated_images_root: directory within which to create all pixel diffs;
           if this directory does not yet exist, it will be created
     """
+    time_start = int(time.time())
     self._image_diff_db = imagediffdb.ImageDiffDB(generated_images_root)
     self._actuals_root = actuals_root
     self._expected_root = expected_root
     self._load_actual_and_expected()
     self._timestamp = int(time.time())
+    logging.info('Results complete; took %d seconds.' %
+                 (self._timestamp - time_start))
 
   def get_timestamp(self):
     """Return the time at which this object was created, in seconds past epoch
@@ -288,7 +291,11 @@
     files within self._actuals_root and self._expected_root),
     and stores them in self._results.
     """
+    logging.info('Reading actual-results JSON files from %s...' %
+                 self._actuals_root)
     actual_builder_dicts = Results._read_dicts_from_root(self._actuals_root)
+    logging.info('Reading expected-results JSON files from %s...' %
+                 self._expected_root)
     expected_builder_dicts = Results._read_dicts_from_root(self._expected_root)
 
     categories_all = {}
@@ -310,7 +317,13 @@
 
     data_all = []
     data_failures = []
-    for builder in sorted(actual_builder_dicts.keys()):
+    builders = sorted(actual_builder_dicts.keys())
+    num_builders = len(builders)
+    builder_num = 0
+    for builder in builders:
+      builder_num += 1
+      logging.info('Generating pixel diffs for builder #%d of %d, "%s"...' %
+                   (builder_num, num_builders, builder))
       actual_results_for_this_builder = (
           actual_builder_dicts[builder][gm_json.JSONKEY_ACTUALRESULTS])
       for result_type in sorted(actual_results_for_this_builder.keys()):
diff --git a/gm/rebaseline_server/server.py b/gm/rebaseline_server/server.py
index d1d9c85..5865f59 100755
--- a/gm/rebaseline_server/server.py
+++ b/gm/rebaseline_server/server.py
@@ -215,10 +215,6 @@
             EXPECTATIONS_DIR)
         _run_command(['gclient', 'sync'], TRUNK_DIRECTORY)
 
-      logging.info(
-          ('Parsing results from actuals in %s and expectations in %s, '
-           + 'and generating pixel diffs (may take a while) ...') % (
-               self._actuals_dir, EXPECTATIONS_DIR))
       self._results = results.Results(
           actuals_root=self._actuals_dir,
           expected_root=EXPECTATIONS_DIR,
@@ -507,7 +503,9 @@
 
 
 def main():
-  logging.basicConfig(level=logging.INFO)
+  logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
+                      datefmt='%m/%d/%Y %H:%M:%S',
+                      level=logging.INFO)
   parser = argparse.ArgumentParser()
   parser.add_argument('--actuals-dir',
                     help=('Directory into which we will check out the latest '