Skip to content

Commit 7ec8c59

Browse files
authored
persist original trace header in lambda context (#362)
1 parent 80dbd1d commit 7ec8c59

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

aws_xray_sdk/core/lambda_launcher.py

+1
Original file line numberDiff line numberDiff line change
@@ -142,5 +142,6 @@ def _initialize_context(self, trace_header):
142142
entityid=trace_header.parent,
143143
sampled=sampled,
144144
)
145+
segment.save_origin_trace_header(trace_header)
145146
setattr(self._local, 'segment', segment)
146147
setattr(self._local, 'entities', [])

tests/test_lambda_context.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88

99
TRACE_ID = '1-5759e988-bd862e3fe1be46a994272793'
1010
PARENT_ID = '53995c3f42cd8ad8'
11-
HEADER_VAR = "Root=%s;Parent=%s;Sampled=1" % (TRACE_ID, PARENT_ID)
11+
DATA = 'Foo=Bar'
12+
HEADER_VAR = "Root=%s;Parent=%s;Sampled=1;%s" % (TRACE_ID, PARENT_ID, DATA)
1213

1314
os.environ[lambda_launcher.LAMBDA_TRACE_HEADER_KEY] = HEADER_VAR
1415
context = lambda_launcher.LambdaContext()
@@ -26,6 +27,7 @@ def test_facade_segment_generation():
2627
assert segment.id == PARENT_ID
2728
assert segment.trace_id == TRACE_ID
2829
assert segment.sampled
30+
assert DATA in segment.get_origin_trace_header().to_header_str()
2931

3032

3133
def test_put_subsegment():
@@ -43,6 +45,7 @@ def test_put_subsegment():
4345
assert subsegment2.parent_id == subsegment.id
4446
assert subsegment.parent_id == segment.id
4547
assert subsegment2.parent_segment is segment
48+
assert DATA in subsegment2.parent_segment.get_origin_trace_header().to_header_str()
4649

4750
context.end_subsegment()
4851
assert context.get_trace_entity().id == subsegment.id
@@ -60,6 +63,7 @@ def test_disable():
6063
global_sdk_config.set_sdk_enabled(False)
6164
segment = context.get_trace_entity()
6265
assert not segment.sampled
66+
assert DATA in segment.get_origin_trace_header().to_header_str()
6367

6468

6569
def test_non_initialized():

0 commit comments

Comments
 (0)