|
9 | 9 | from importlib import import_module |
10 | 10 | from time import time_ns |
11 | 11 |
|
| 12 | +from datadog_lambda.dsm import set_dsm_context |
12 | 13 | from datadog_lambda.extension import should_use_extension, flush_extension |
13 | 14 | from datadog_lambda.cold_start import ( |
14 | 15 | set_cold_start, |
@@ -291,39 +292,6 @@ def _inject_authorizer_span_headers(self, request_id): |
291 | 292 | self.response["context"]["_datadog"] = datadog_data |
292 | 293 |
|
293 | 294 | def _before(self, event, context): |
294 | | - def _dsm_set_sqs_context(record): |
295 | | - try: |
296 | | - queue_arn = record.get("eventSourceARN", "") |
297 | | - |
298 | | - contextjson = get_datastreams_context(record) |
299 | | - payload_size = calculate_sqs_payload_size(record) |
300 | | - |
301 | | - ctx = DsmPathwayCodec.decode(contextjson, processor()) |
302 | | - ctx.set_checkpoint( |
303 | | - ["direction:in", "topic:" + queue_arn, "type:sqs"], |
304 | | - payload_size=payload_size, |
305 | | - ) |
306 | | - |
307 | | - except Exception as e: |
308 | | - logger.error(format_err_with_traceback(e)) |
309 | | - |
310 | | - if self.data_streams_enabled: |
311 | | - from ddtrace.internal.datastreams.processor import ( |
312 | | - DataStreamsProcessor as processor, |
313 | | - DsmPathwayCodec, |
314 | | - ) |
315 | | - from ddtrace.internal.datastreams.botocore import ( |
316 | | - get_datastreams_context, |
317 | | - calculate_sqs_payload_size, |
318 | | - ) |
319 | | - |
320 | | - if isinstance(event, dict) and "Records" in event and event["Records"]: |
321 | | - sqs_records = [ |
322 | | - r for r in event["Records"] if r.get("eventSource") == "aws:sqs" |
323 | | - ] |
324 | | - if sqs_records: |
325 | | - for record in sqs_records: |
326 | | - _dsm_set_sqs_context(record) |
327 | 295 |
|
328 | 296 | try: |
329 | 297 | self.response = None |
@@ -360,6 +328,8 @@ def _dsm_set_sqs_context(record): |
360 | 328 | self.inferred_span = create_inferred_span( |
361 | 329 | event, context, event_source, self.decode_authorizer_context |
362 | 330 | ) |
| 331 | + if self.data_streams_enabled: |
| 332 | + set_dsm_context(event, event_source) |
363 | 333 | self.span = create_function_execution_span( |
364 | 334 | context=context, |
365 | 335 | function_name=self.function_name, |
|
0 commit comments