[autotest] Get rid of to_raise exception storing
BUG=chromium:732588
TEST=None
Change-Id: Ie0dbaa1692e1d3fd4d57978e4ad8d24da3d70045
Reviewed-on: https://chromium-review.googlesource.com/549087
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
diff --git a/client/common_lib/cros/autoupdater.py b/client/common_lib/cros/autoupdater.py
index 510091c..45b2411 100644
--- a/client/common_lib/cros/autoupdater.py
+++ b/client/common_lib/cros/autoupdater.py
@@ -252,30 +252,27 @@
run_args = {'command': autoupdate_cmd}
err_prefix = 'Failed to trigger an update on %s. ' % self.host.hostname
logging.info('Triggering update via: %s', autoupdate_cmd)
+ metric_fields = {'success': False}
try:
- to_raise = None
self._base_update_handler(run_args, err_prefix)
- except Exception as e:
- to_raise = e
-
- build_name = url_to_image_name(self.update_url)
- try:
- board, build_type, milestone, _ = server_utils.ParseBuildName(
- build_name)
- except server_utils.ParseBuildNameException:
- logging.warning('Unable to parse build name %s for metrics. '
- 'Continuing anyway.', build_name)
- board, build_type, milestone = ('', '', '')
- c = metrics.Counter('chromeos/autotest/autoupdater/trigger')
- f = {'dev_server':
- dev_server.get_hostname(self.update_url),
- 'success': to_raise is None,
- 'board': board,
- 'build_type': build_type,
- 'milestone': milestone}
- c.increment(fields=f)
- if to_raise:
- raise to_raise
+ metric_fields['success'] = True
+ finally:
+ build_name = url_to_image_name(self.update_url)
+ try:
+ board, build_type, milestone, _ = server_utils.ParseBuildName(
+ build_name)
+ except server_utils.ParseBuildNameException:
+ logging.warning('Unable to parse build name %s for metrics. '
+ 'Continuing anyway.', build_name)
+ board, build_type, milestone = ('', '', '')
+ c = metrics.Counter('chromeos/autotest/autoupdater/trigger')
+ metric_fields.update({
+ 'dev_server': dev_server.get_hostname(self.update_url),
+ 'board': board,
+ 'build_type': build_type,
+ 'milestone': milestone,
+ })
+ c.increment(fields=metric_fields)
def _verify_update_completed(self):
@@ -301,30 +298,28 @@
err_prefix = ('Failed to install device image using payload at %s '
'on %s. ' % (self.update_url, self.host.hostname))
logging.info('Updating image via: %s', autoupdate_cmd)
+ metric_fields = {'success': False}
try:
- to_raise = None
self._base_update_handler(run_args, err_prefix)
- except Exception as e:
- to_raise = e
+ metric_fields['success'] = True
+ finally:
+ build_name = url_to_image_name(self.update_url)
+ try:
+ board, build_type, milestone, _ = server_utils.ParseBuildName(
+ build_name)
+ except server_utils.ParseBuildNameException:
+ logging.warning('Unable to parse build name %s for metrics. '
+ 'Continuing anyway.', build_name)
+ board, build_type, milestone = ('', '', '')
+ c = metrics.Counter('chromeos/autotest/autoupdater/update')
+ metric_fields.update({
+ 'dev_server': dev_server.get_hostname(self.update_url),
+ 'board': board,
+ 'build_type': build_type,
+ 'milestone': milestone,
+ })
+ c.increment(fields=metric_fields)
- build_name = url_to_image_name(self.update_url)
- try:
- board, build_type, milestone, _ = server_utils.ParseBuildName(
- build_name)
- except server_utils.ParseBuildNameException:
- logging.warning('Unable to parse build name %s for metrics. '
- 'Continuing anyway.', build_name)
- board, build_type, milestone = ('', '', '')
- c = metrics.Counter('chromeos/autotest/autoupdater/update')
- f = {'dev_server':
- dev_server.get_hostname(self.update_url),
- 'success': to_raise is None,
- 'board': board,
- 'build_type': build_type,
- 'milestone': milestone}
- c.increment(fields=f)
- if to_raise:
- raise to_raise
self._verify_update_completed()