Skip to content

Commit d28451d

Browse files
renamed to extract_context_with_datastreams
1 parent 3147f20 commit d28451d

File tree

2 files changed

+32
-24
lines changed

2 files changed

+32
-24
lines changed

datadog_lambda/tracing.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
LOWER_64_BITS = "LOWER_64_BITS"
6767

6868

69-
def _extract_context(context_json, event_type, arn):
69+
def _extract_context_with_data_streams(context_json, event_type, arn):
7070
from ddtrace.data_streams import set_consume_checkpoint
7171

7272
"""
@@ -307,7 +307,9 @@ def extract_context_from_sqs_or_sns_event_or_context(event, lambda_context):
307307
logger.debug(
308308
"Failed to extract Step Functions context from SQS/SNS event."
309309
)
310-
return _extract_context(dd_data, "sqs" if is_sqs else "sns", arn)
310+
return _extract_context_with_data_streams(
311+
dd_data, "sqs" if is_sqs else "sns", arn
312+
)
311313
else:
312314
# Handle case where trace context is injected into attributes.AWSTraceHeader
313315
# example: Root=1-654321ab-000000001234567890abcdef;Parent=0123456789abcdef;Sampled=1
@@ -408,7 +410,7 @@ def extract_context_from_kinesis_event(event, lambda_context):
408410
data_obj = json.loads(data_str)
409411
dd_ctx = data_obj.get("_datadog")
410412
if dd_ctx:
411-
return _extract_context(dd_ctx, "kinesis", arn)
413+
return _extract_context_with_data_streams(dd_ctx, "kinesis", arn)
412414
except Exception as e:
413415
logger.debug("The trace extractor returned with error %s", e)
414416

tests/test_dsm.py

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from ddtrace.trace import Context
88

99
from datadog_lambda.tracing import (
10-
_extract_context,
10+
_extract_context_with_data_streams,
1111
_create_carrier_get,
1212
extract_context_from_sqs_or_sns_event_or_context,
1313
extract_context_from_kinesis_event,
@@ -38,7 +38,7 @@ def test_extract_context_data_streams_disabled(self):
3838
mock_context = Context(trace_id=12345, span_id=67890, sampling_priority=1)
3939
self.mock_extract.return_value = mock_context
4040

41-
result = _extract_context(context_json, event_type, arn)
41+
result = _extract_context_with_data_streams(context_json, event_type, arn)
4242

4343
self.mock_extract.assert_called_once_with(context_json)
4444
self.mock_checkpoint.assert_not_called()
@@ -53,7 +53,7 @@ def test_extract_context_data_streams_enabled_complete_context(self):
5353
mock_context = Context(trace_id=12345, span_id=67890, sampling_priority=1)
5454
self.mock_extract.return_value = mock_context
5555

56-
result = _extract_context(context_json, event_type, arn)
56+
result = _extract_context_with_data_streams(context_json, event_type, arn)
5757

5858
self.mock_extract.assert_called_once_with(context_json)
5959
self.mock_checkpoint.assert_called_once()
@@ -73,7 +73,7 @@ def test_extract_context_data_streams_enabled_incomplete_context(self):
7373
mock_context = Context(trace_id=12345, span_id=None, sampling_priority=1)
7474
self.mock_extract.return_value = mock_context
7575

76-
result = _extract_context(context_json, event_type, arn)
76+
result = _extract_context_with_data_streams(context_json, event_type, arn)
7777

7878
self.mock_extract.assert_called_once_with(context_json)
7979
self.mock_checkpoint.assert_not_called()
@@ -91,7 +91,7 @@ def test_extract_context_exception_path(self):
9191
test_exception = Exception("Test exception")
9292
self.mock_checkpoint.side_effect = test_exception
9393

94-
result = _extract_context(context_json, event_type, arn)
94+
result = _extract_context_with_data_streams(context_json, event_type, arn)
9595

9696
self.mock_extract.assert_called_once_with(context_json)
9797
self.mock_checkpoint.assert_called_once()
@@ -136,8 +136,10 @@ class TestExtractContextFromSqsOrSnsEvent(unittest.TestCase):
136136
def setUp(self):
137137
self.lambda_context = get_mock_context()
138138

139-
@patch("datadog_lambda.tracing._extract_context")
140-
def test_sqs_event_with_datadog_message_attributes(self, mock_extract_context):
139+
@patch("datadog_lambda.tracing._extract_context_with_data_streams")
140+
def test_sqs_event_with_datadog_message_attributes(
141+
self, mock_extract_context_with_data_streams
142+
):
141143
dd_data = {"dd-pathway-ctx-base64": "12345"}
142144
dd_json_data = json.dumps(dd_data)
143145

@@ -153,20 +155,20 @@ def test_sqs_event_with_datadog_message_attributes(self, mock_extract_context):
153155
}
154156

155157
mock_context = Context(trace_id=12345, span_id=67890, sampling_priority=1)
156-
mock_extract_context.return_value = mock_context
158+
mock_extract_context_with_data_streams.return_value = mock_context
157159

158160
result = extract_context_from_sqs_or_sns_event_or_context(
159161
event, self.lambda_context
160162
)
161163

162-
mock_extract_context.assert_called_once_with(
164+
mock_extract_context_with_data_streams.assert_called_once_with(
163165
dd_data, "sqs", "arn:aws:sqs:us-east-1:123456789012:test-queue"
164166
)
165167
self.assertEqual(result, mock_context)
166168

167-
@patch("datadog_lambda.tracing._extract_context")
169+
@patch("datadog_lambda.tracing._extract_context_with_data_streams")
168170
def test_sqs_event_with_binary_datadog_message_attributes(
169-
self, mock_extract_context
171+
self, mock_extract_context_with_data_streams
170172
):
171173
dd_data = {"dd-pathway-ctx-base64": "12345"}
172174
dd_json_data = json.dumps(dd_data)
@@ -184,19 +186,21 @@ def test_sqs_event_with_binary_datadog_message_attributes(
184186
}
185187

186188
mock_context = Context(trace_id=12345, span_id=67890, sampling_priority=1)
187-
mock_extract_context.return_value = mock_context
189+
mock_extract_context_with_data_streams.return_value = mock_context
188190

189191
result = extract_context_from_sqs_or_sns_event_or_context(
190192
event, self.lambda_context
191193
)
192194

193-
mock_extract_context.assert_called_once_with(
195+
mock_extract_context_with_data_streams.assert_called_once_with(
194196
dd_data, "sqs", "arn:aws:sqs:us-east-1:123456789012:test-queue"
195197
)
196198
self.assertEqual(result, mock_context)
197199

198-
@patch("datadog_lambda.tracing._extract_context")
199-
def test_sns_event_with_datadog_message_attributes(self, mock_extract_context):
200+
@patch("datadog_lambda.tracing._extract_context_with_data_streams")
201+
def test_sns_event_with_datadog_message_attributes(
202+
self, mock_extract_context_with_data_streams
203+
):
200204
dd_data = {"dd-pathway-ctx-base64": "12345"}
201205
dd_json_data = json.dumps(dd_data)
202206

@@ -215,13 +219,13 @@ def test_sns_event_with_datadog_message_attributes(self, mock_extract_context):
215219
}
216220

217221
mock_context = Context(trace_id=12345, span_id=67890, sampling_priority=1)
218-
mock_extract_context.return_value = mock_context
222+
mock_extract_context_with_data_streams.return_value = mock_context
219223

220224
result = extract_context_from_sqs_or_sns_event_or_context(
221225
event, self.lambda_context
222226
)
223227

224-
mock_extract_context.assert_called_once_with(
228+
mock_extract_context_with_data_streams.assert_called_once_with(
225229
dd_data, "sns", "arn:aws:sns:us-east-1:123456789012:test-topic"
226230
)
227231
self.assertEqual(result, mock_context)
@@ -231,8 +235,10 @@ class TestExtractContextFromKinesisEvent(unittest.TestCase):
231235
def setUp(self):
232236
self.lambda_context = get_mock_context()
233237

234-
@patch("datadog_lambda.tracing._extract_context")
235-
def test_kinesis_event_with_datadog_data(self, mock_extract_context):
238+
@patch("datadog_lambda.tracing._extract_context_with_data_streams")
239+
def test_kinesis_event_with_datadog_data(
240+
self, mock_extract_context_with_data_streams
241+
):
236242
dd_data = {"dd-pathway-ctx-base64": "12345"}
237243
kinesis_data = {"_datadog": dd_data, "message": "test"}
238244
kinesis_data_str = json.dumps(kinesis_data)
@@ -248,11 +254,11 @@ def test_kinesis_event_with_datadog_data(self, mock_extract_context):
248254
}
249255

250256
mock_context = Context(trace_id=12345, span_id=67890, sampling_priority=1)
251-
mock_extract_context.return_value = mock_context
257+
mock_extract_context_with_data_streams.return_value = mock_context
252258

253259
result = extract_context_from_kinesis_event(event, self.lambda_context)
254260

255-
mock_extract_context.assert_called_once_with(
261+
mock_extract_context_with_data_streams.assert_called_once_with(
256262
dd_data,
257263
"kinesis",
258264
"arn:aws:kinesis:us-east-1:123456789012:stream/test-stream",

0 commit comments

Comments
 (0)