Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.

Commit d63db22

Browse files
authored
Clear spans list after finish (#64)
1 parent 123f70c commit d63db22

3 files changed

Lines changed: 9 additions & 1 deletion

File tree

trace/opencensus/trace/span.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,13 @@ def format_span_json(span):
174174
'endTime': span.end_time,
175175
}
176176

177+
parent_span_id = None
178+
177179
if span.parent_span is not None:
178-
span_json['parentSpanId'] = span.parent_span.span_id
180+
parent_span_id = span.parent_span.span_id
181+
182+
if parent_span_id is not None:
183+
span_json['parentSpanId'] = parent_span_id
179184

180185
if span.labels is not None:
181186
span_json['labels'] = span.labels

trace/opencensus/trace/tracer/context_tracer.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ def finish(self):
4545
:returns: JSON format trace.
4646
"""
4747
trace = self._get_trace_json()
48+
self._spans_list = []
4849

4950
return trace
5051

trace/tests/unit/tracer/test_context_tracer.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ def test_finish_without_spans(self):
5050
trace = tracer.finish()
5151

5252
self.assertIsNone(trace)
53+
self.assertEqual(tracer._spans_list, [])
5354

5455
def test_finish_with_spans(self):
5556
from opencensus.trace.enums import Enum
@@ -125,6 +126,7 @@ def test_finish_with_spans(self):
125126
trace_json = tracer.finish()
126127

127128
self.assertEqual(trace_json, trace)
129+
self.assertEqual(tracer._spans_list, [])
128130

129131
@mock.patch.object(context_tracer.ContextTracer, 'current_span')
130132
def test_span(self, current_span_mock):

0 commit comments

Comments
 (0)