From d99c206b47ea4ae646f2a55671f0f032ddaf0a5f Mon Sep 17 00:00:00 2001 From: Evan Cordell Date: Sat, 1 Oct 2016 17:23:11 -0400 Subject: [PATCH] Fix build time metric --- buildman/manager/ephemeral.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/buildman/manager/ephemeral.py b/buildman/manager/ephemeral.py index 592af511e..a8ab3e26a 100644 --- a/buildman/manager/ephemeral.py +++ b/buildman/manager/ephemeral.py @@ -571,14 +571,15 @@ class EphemeralBuilderManager(BaseManager): # Kill the ephemeral builder. yield From(self.kill_builder_executor(build_job.build_uuid)) - + try: # log build time to prometheus realm_data = yield From(self._etcd_client.read(self._etcd_realm_key(build_component.builder_realm))) - start_time = json.loads(realm_data.value)['start_time'] - metric_queue.build_time(time.time() - start_time, labelvalues=[realm_data.executor_name]) - except (KeyError, etcd.EtcdKeyError): - logger.warning('Could not read realm key %s', build_component.builder_realm) + parsed_realm_data = json.loads(realm_data.value) + start_time = parsed_realm_data['start_time'] + metric_queue.build_time.Observe(time.time() - start_time, labelvalues=[parsed_realm_data.get('executor_name', 'unknown')]) + except Exception: + logger.exception("Could not write build_time metric for realm key %s", build_component.builder_realm) # Delete the build job from etcd. job_key = self._etcd_job_key(build_job)