|
1 | 1 | from itertools import chain |
2 | 2 | import logging |
| 3 | +import os |
3 | 4 | from typing import List |
4 | 5 |
|
5 | | -from ddtrace._trace.utils_botocore.span_pointers.dynamodb import ( |
6 | | - _aws_dynamodb_item_span_pointer_description, |
7 | | -) |
8 | | -from ddtrace._trace.utils_botocore.span_pointers.s3 import ( |
9 | | - _aws_s3_object_span_pointer_description, |
10 | | -) |
11 | 6 | from ddtrace._trace._span_pointer import _SpanPointerDirection |
12 | 7 | from ddtrace._trace._span_pointer import _SpanPointerDescription |
13 | 8 | from datadog_lambda.trigger import EventTypes |
|
16 | 11 | logger = logging.getLogger(__name__) |
17 | 12 |
|
18 | 13 |
|
| 14 | +dd_botocore_add_span_pointers = os.environ.get( |
| 15 | + "DD_BOTOCORE_ADD_SPAN_POINTERS", "true" |
| 16 | +).lower() in ("true", "1") |
| 17 | + |
| 18 | + |
19 | 19 | def calculate_span_pointers( |
20 | 20 | event_source, |
21 | 21 | event, |
| 22 | + botocore_add_span_pointers=dd_botocore_add_span_pointers, |
22 | 23 | ) -> List[_SpanPointerDescription]: |
23 | 24 | try: |
24 | | - if event_source.equals(EventTypes.S3): |
25 | | - return _calculate_s3_span_pointers_for_event(event) |
| 25 | + if botocore_add_span_pointers: |
| 26 | + if event_source.equals(EventTypes.S3): |
| 27 | + return _calculate_s3_span_pointers_for_event(event) |
26 | 28 |
|
27 | | - elif event_source.equals(EventTypes.DYNAMODB): |
28 | | - return _calculate_dynamodb_span_pointers_for_event(event) |
| 29 | + elif event_source.equals(EventTypes.DYNAMODB): |
| 30 | + return _calculate_dynamodb_span_pointers_for_event(event) |
29 | 31 |
|
30 | 32 | except Exception as e: |
31 | 33 | logger.warning( |
@@ -80,6 +82,10 @@ def _calculate_s3_span_pointers_for_object_created_s3_information( |
80 | 82 | return [] |
81 | 83 |
|
82 | 84 | try: |
| 85 | + from ddtrace._trace.utils_botocore.span_pointers.s3 import ( |
| 86 | + _aws_s3_object_span_pointer_description, |
| 87 | + ) |
| 88 | + |
83 | 89 | return [ |
84 | 90 | _aws_s3_object_span_pointer_description( |
85 | 91 | pointer_direction=_SpanPointerDirection.UPSTREAM, |
@@ -124,6 +130,10 @@ def _calculate_dynamodb_span_pointers_for_event_record( |
124 | 130 | return [] |
125 | 131 |
|
126 | 132 | try: |
| 133 | + from ddtrace._trace.utils_botocore.span_pointers.dynamodb import ( |
| 134 | + _aws_dynamodb_item_span_pointer_description, |
| 135 | + ) |
| 136 | + |
127 | 137 | return [ |
128 | 138 | _aws_dynamodb_item_span_pointer_description( |
129 | 139 | pointer_direction=_SpanPointerDirection.UPSTREAM, |
|
0 commit comments