Skip to content

Commit 49b61ae

Browse files
committed
use context.aws_request_id instead of http payload's requestId in the spans' tags
1 parent 4d8ee53 commit 49b61ae

File tree

2 files changed

+13
-21
lines changed

2 files changed

+13
-21
lines changed

datadog_lambda/tracing.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ def create_inferred_span(
584584
):
585585
logger.debug("API Gateway event detected. Inferring a span")
586586
return create_inferred_span_from_api_gateway_event(
587-
event, decode_authorizer_context
587+
event, context, decode_authorizer_context
588588
)
589589
elif event_source.equals(EventTypes.LAMBDA_FUNCTION_URL):
590590
logger.debug("Function URL event detected. Inferring a span")
@@ -601,7 +601,7 @@ def create_inferred_span(
601601
):
602602
logger.debug("API Gateway Websocket event detected. Inferring a span")
603603
return create_inferred_span_from_api_gateway_websocket_event(
604-
event, decode_authorizer_context
604+
event, context, decode_authorizer_context
605605
)
606606
elif event_source.equals(EventTypes.SQS):
607607
logger.debug("SQS event detected. Inferring a span")
@@ -732,7 +732,7 @@ def process_injected_data(event, request_time_epoch_ms, args, tags):
732732

733733

734734
def create_inferred_span_from_api_gateway_websocket_event(
735-
event, decode_authorizer_context: bool = True
735+
event, context, decode_authorizer_context: bool = True
736736
):
737737
request_context = event.get("requestContext")
738738
domain = request_context.get("domainName")
@@ -745,7 +745,7 @@ def create_inferred_span_from_api_gateway_websocket_event(
745745
"apiid": request_context.get("apiId"),
746746
"apiname": request_context.get("apiId"),
747747
"stage": request_context.get("stage"),
748-
"request_id": request_context.get("requestId"),
748+
"request_id": context.aws_request_id,
749749
"connection_id": request_context.get("connectionId"),
750750
"event_type": request_context.get("eventType"),
751751
"message_direction": request_context.get("messageDirection"),
@@ -781,7 +781,7 @@ def create_inferred_span_from_api_gateway_websocket_event(
781781

782782

783783
def create_inferred_span_from_api_gateway_event(
784-
event, decode_authorizer_context: bool = True
784+
event, context, decode_authorizer_context: bool = True
785785
):
786786
request_context = event.get("requestContext")
787787
domain = request_context.get("domainName", "")
@@ -797,7 +797,7 @@ def create_inferred_span_from_api_gateway_event(
797797
"apiid": request_context.get("apiId"),
798798
"apiname": request_context.get("apiId"),
799799
"stage": request_context.get("stage"),
800-
"request_id": request_context.get("requestId"),
800+
"request_id": context.aws_request_id,
801801
}
802802
request_time_epoch_ms = int(request_context.get("requestTimeEpoch"))
803803
if is_api_gateway_invocation_async(event):

tests/test_tracing.py

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -755,9 +755,7 @@ def test_create_inferred_span_from_api_gateway_event(self):
755755
span.get_tag("resource_names"),
756756
"POST /path/to/resource",
757757
)
758-
self.assertEqual(
759-
span.get_tag("request_id"), "c6af9ac6-7b61-11e6-9a41-93e8deadbeef"
760-
)
758+
self.assertEqual(span.get_tag("request_id"), "123")
761759
self.assertEqual(span.get_tag("apiid"), "1234567890")
762760
self.assertEqual(span.get_tag("apiname"), "1234567890")
763761
self.assertEqual(span.get_tag("stage"), "prod")
@@ -789,9 +787,7 @@ def test_create_inferred_span_from_api_gateway_non_proxy_event_async(self):
789787
span.get_tag("resource_names"),
790788
"GET /http/get",
791789
)
792-
self.assertEqual(
793-
span.get_tag("request_id"), "7bf3b161-f698-432c-a639-6fef8b445137"
794-
)
790+
self.assertEqual(span.get_tag("request_id"), "123")
795791
self.assertEqual(span.get_tag("apiid"), "lgxbo6a518")
796792
self.assertEqual(span.get_tag("apiname"), "lgxbo6a518")
797793
self.assertEqual(span.get_tag("stage"), "dev")
@@ -823,9 +819,7 @@ def test_create_inferred_span_from_api_gateway_non_proxy_event_sync(self):
823819
span.get_tag("resource_names"),
824820
"GET /http/get",
825821
)
826-
self.assertEqual(
827-
span.get_tag("request_id"), "7bf3b161-f698-432c-a639-6fef8b445137"
828-
)
822+
self.assertEqual(span.get_tag("request_id"), "123")
829823
self.assertEqual(span.get_tag("apiid"), "lgxbo6a518")
830824
self.assertEqual(span.get_tag("apiname"), "lgxbo6a518")
831825
self.assertEqual(span.get_tag("stage"), "dev")
@@ -892,7 +886,7 @@ def test_create_inferred_span_from_api_gateway_websocket_default_event(self):
892886
span.get_tag("resource_names"),
893887
"$default",
894888
)
895-
self.assertEqual(span.get_tag("request_id"), "Fc5S3EvdGjQFtsQ=")
889+
self.assertEqual(span.get_tag("request_id"), "123")
896890
self.assertEqual(span.get_tag("apiid"), "p62c47itsb")
897891
self.assertEqual(span.get_tag("apiname"), "p62c47itsb")
898892
self.assertEqual(span.get_tag("stage"), "dev")
@@ -927,7 +921,7 @@ def test_create_inferred_span_from_api_gateway_websocket_connect_event(self):
927921
span.get_tag("resource_names"),
928922
"$connect",
929923
)
930-
self.assertEqual(span.get_tag("request_id"), "Fc2tgH1RmjQFnOg=")
924+
self.assertEqual(span.get_tag("request_id"), "123")
931925
self.assertEqual(span.get_tag("apiid"), "p62c47itsb")
932926
self.assertEqual(span.get_tag("apiname"), "p62c47itsb")
933927
self.assertEqual(span.get_tag("stage"), "dev")
@@ -962,7 +956,7 @@ def test_create_inferred_span_from_api_gateway_websocket_disconnect_event(self):
962956
span.get_tag("resource_names"),
963957
"$disconnect",
964958
)
965-
self.assertEqual(span.get_tag("request_id"), "Fc2ydE4LmjQFhdg=")
959+
self.assertEqual(span.get_tag("request_id"), "123")
966960
self.assertEqual(span.get_tag("apiid"), "p62c47itsb")
967961
self.assertEqual(span.get_tag("apiname"), "p62c47itsb")
968962
self.assertEqual(span.get_tag("stage"), "dev")
@@ -1358,9 +1352,7 @@ def test_create_inferred_span_from_api_gateway_event_no_apiid(self):
13581352
span.get_tag("resource_names"),
13591353
"POST /path/to/resource",
13601354
)
1361-
self.assertEqual(
1362-
span.get_tag("request_id"), "c6af9ac6-7b61-11e6-9a41-93e8deadbeef"
1363-
)
1355+
self.assertEqual(span.get_tag("request_id"), "123")
13641356
self.assertEqual(span.get_tag("apiid"), "None")
13651357
self.assertEqual(span.get_tag("apiname"), "None")
13661358
self.assertEqual(span.get_tag("stage"), "prod")

0 commit comments

Comments
 (0)