From fa144bfa4fed8829fbc7c7cf6ab055771d19a308 Mon Sep 17 00:00:00 2001 From: "Tim Daly, Jr" Date: Mon, 22 Apr 2013 23:50:40 +0000 Subject: [PATCH] eventlet safety: don't send until we've got the span stack back in a clean state, because sending can context switch. --- tomograph/tomograph.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tomograph/tomograph.py b/tomograph/tomograph.py index 9724a5b..142db72 100644 --- a/tomograph/tomograph.py +++ b/tomograph/tomograph.py @@ -51,10 +51,10 @@ def stop(name): annotate('stop') span = span_stack.spans.pop() assert span.name == name, 'start span name {0} not equal to end span name {1}'.format(span.name, name) - for backend in config.get_backends(): - backend.send(span) if not span_stack.spans: del(span_stack.trace_id) + for backend in config.get_backends(): + backend.send(span) def annotate(value, service_name=None, address=None, port=None): last_span = span_stack.spans[-1]