Bug 1241771 - Print install manifest processing time; r?glandium draft
authorGregory Szorc <gps@mozilla.com>
Thu, 21 Jan 2016 22:42:47 -0800
changeset 324254 22e34a76173a3526bdca53410317e2aa4accb297
parent 324253 5d12e137f2c154dbbffb2cf9912709bcf9f594aa
child 513345 4be2d5c1260eb753a32150f8f22b8c986957c070
push id9867
push usergszorc@mozilla.com
push dateFri, 22 Jan 2016 06:42:55 +0000
reviewersglandium
bugs1241771
milestone46.0a1
Bug 1241771 - Print install manifest processing time; r?glandium
python/mozbuild/mozbuild/action/process_install_manifest.py
--- a/python/mozbuild/mozbuild/action/process_install_manifest.py
+++ b/python/mozbuild/mozbuild/action/process_install_manifest.py
@@ -2,29 +2,32 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 from __future__ import absolute_import, print_function, unicode_literals
 
 import argparse
 import os
 import sys
+import time
+
 from mozpack.copier import (
     FileCopier,
     FileRegistry,
 )
 from mozpack.files import (
     BaseFile,
     FileFinder,
 )
 from mozpack.manifests import InstallManifest
 from mozbuild.util import DefinesAction
 
 
-COMPLETE = 'From {dest}: Kept {existing} existing; Added/updated {updated}; ' \
+COMPLETE = 'Elapsed: {elapsed:.2f}s; From {dest}: Kept {existing} existing; ' \
+    'Added/updated {updated}; ' \
     'Removed {rm_files} files and {rm_dirs} directories.'
 
 
 def process_manifest(destdir, paths, track=None,
         remove_unaccounted=True,
         remove_all_directory_symlinks=True,
         remove_empty_directories=True,
         defines={}):
@@ -82,22 +85,28 @@ def main(argv):
     parser.add_argument('--track', metavar="PATH",
         help='Use installed files tracking information from the given path.')
     parser.add_argument('-D', action=DefinesAction,
         dest='defines', metavar="VAR[=VAL]",
         help='Define a variable to override what is specified in the manifest')
 
     args = parser.parse_args(argv)
 
+    start = time.time()
+
     result = process_manifest(args.destdir, args.manifests,
         track=args.track, remove_unaccounted=not args.no_remove,
         remove_all_directory_symlinks=not args.no_remove_all_directory_symlinks,
         remove_empty_directories=not args.no_remove_empty_directories,
         defines=args.defines)
 
-    print(COMPLETE.format(dest=args.destdir,
+    elapsed = time.time() - start
+
+    print(COMPLETE.format(
+        elapsed=elapsed,
+        dest=args.destdir,
         existing=result.existing_files_count,
         updated=result.updated_files_count,
         rm_files=result.removed_files_count,
         rm_dirs=result.removed_directories_count))
 
 if __name__ == '__main__':
     main(sys.argv[1:])