pre-upload: display overall hook runtime
When people report issues and include logs, it can help to see how
long the overall repohooks took to execute.
Bug: None
Test: unittests pass
Change-Id: I87119874cb4d2d0a2aac08f171a876734fb73b52
diff --git a/pre-upload.py b/pre-upload.py
index 0862dea..0fb4015 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -23,6 +23,7 @@
from __future__ import print_function
import argparse
+import datetime
import os
import sys
@@ -81,6 +82,7 @@
self.num_hooks = None
self.hook_index = 0
self.success = True
+ self.start_time = datetime.datetime.now()
def set_num_hooks(self, num_hooks):
"""Keep track of how many hooks we'll be running.
@@ -146,10 +148,11 @@
def finish(self):
"""Print summary for all the hooks."""
- status_line = '[%s] repohooks for %s %s' % (
+ status_line = '[%s] repohooks for %s %s in %s' % (
self.PASSED if self.success else self.FAILED,
self.project_name,
- 'passed' if self.success else 'failed')
+ 'passed' if self.success else 'failed',
+ rh.utils.timedelta_str(datetime.datetime.now() - self.start_time))
rh.terminal.print_status_line(status_line, print_newline=True)