diff options
author | Zuul <zuul@review.opendev.org> | 2022-10-10 14:38:05 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-10-10 14:38:05 +0000 |
commit | 51aeec13e682e2341d6c65379ef558bcb4d62ee0 (patch) | |
tree | 3c60631c824de51b1241282a4869b7b131b4de70 | |
parent | b9b526e9513d04f0ee35d65ba7d4e06e2e3b106f (diff) | |
parent | d864d83ade70aed91a15560fbca0f075eaaefeee (diff) | |
download | zuul-51aeec13e682e2341d6c65379ef558bcb4d62ee0.tar.gz |
Merge "End node request span when result event is sent"
-rw-r--r-- | tests/unit/test_tracing.py | 5 | ||||
-rw-r--r-- | zuul/nodepool.py | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/tests/unit/test_tracing.py b/tests/unit/test_tracing.py index ff20f84f1..525876f50 100644 --- a/tests/unit/test_tracing.py +++ b/tests/unit/test_tracing.py @@ -193,11 +193,14 @@ class TestTracing(ZuulTestCase): self.log.debug("Received:\n%s", item) merge_job = self.getSpan('Merge') self.log.debug("Received:\n%s", merge_job) + node_request = self.getSpan('RequestNodes') + self.log.debug("Received:\n%s", node_request) build = self.getSpan('Build') self.log.debug("Received:\n%s", build) jobexec = self.getSpan('JobExecution') self.log.debug("Received:\n%s", jobexec) self.assertEqual(item.trace_id, buildset.trace_id) + self.assertEqual(item.trace_id, node_request.trace_id) self.assertEqual(item.trace_id, build.trace_id) self.assertNotEqual(item.span_id, jobexec.span_id) self.assertTrue(buildset.start_time_unix_nano >= @@ -210,6 +213,8 @@ class TestTracing(ZuulTestCase): buildset.end_time_unix_nano) self.assertEqual(jobexec.parent_span_id, build.span_id) + self.assertEqual(node_request.parent_span_id, + buildset.span_id) self.assertEqual(build.parent_span_id, buildset.span_id) self.assertEqual(merge_job.parent_span_id, diff --git a/zuul/nodepool.py b/zuul/nodepool.py index 1118fe0c2..6a6afce58 100644 --- a/zuul/nodepool.py +++ b/zuul/nodepool.py @@ -84,6 +84,10 @@ class Nodepool(object): del self.election def _sendNodesProvisionedEvent(self, request): + tracing.endSavedSpan(request.span_info, attributes={ + "request_id": request.id, + "state": request.state, + }) tenant_name = request.tenant_name pipeline_name = request.pipeline_name event = model.NodesProvisionedEvent(request.id, request.build_set_uuid) @@ -101,10 +105,6 @@ class Nodepool(object): continue if (request.state in {model.STATE_FULFILLED, model.STATE_FAILED}): - tracing.endSavedSpan(request.span_info, attributes={ - "request_id": request.id, - "state": request.state, - }) self._sendNodesProvisionedEvent(request) # Now resume normal event processing. self.stop_watcher_event.wait() |