Skip to content

Commit 5447d89

Browse files
authored
bugfix for sns-sqs non-rawMessageDelivery java upstream (#486)
1 parent 87adb4d commit 5447d89

File tree

3 files changed

+41
-1
lines changed

3 files changed

+41
-1
lines changed

datadog_lambda/tracing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ def extract_context_from_sqs_or_sns_event_or_context(event, lambda_context):
273273
else:
274274
# Handle case where trace context is injected into attributes.AWSTraceHeader
275275
# example: Root=1-654321ab-000000001234567890abcdef;Parent=0123456789abcdef;Sampled=1
276-
attrs = first_record.get("attributes")
276+
attrs = event.get("Records")[0].get("attributes")
277277
if attrs:
278278
x_ray_header = attrs.get("AWSTraceHeader")
279279
if x_ray_header:
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"Records": [
3+
{
4+
"messageId": "892f0033-3a4e-4d61-9e26-70d6f7901cd5",
5+
"receiptHandle": "AQEBa1vYusKmlcrFsXDOh8/il3nFWZt+cGeLSU7cjEEpF+N4dPfHzkFpVXKEZebtXbUGyJ18lpBpRtXMpbL7gNukCv3z3Uj61NQbwTTabhsX0Y0iAbh2TSTNgaC/egNVbl3mwDjtXhmIvQIA8Zzzl4AqIlS7a76QiTeTVAjLb1c2FtJYq+znDb52GNPzZ62fSJtDpjfhFEkHwL+w23NQo/Yx4rCmaygR/F7/5hOFtsOwERpTFBei7fDM0z87HVT0nLkqvtg9wyM1kKSsMX8ltjdI3cwFSMs9aTMGFA3uAee6JKswkMp0HCXxNZZ8lp3T9wdQTBUwS8y01vMxl9e0qtYwUpakBYfdlmGHDIbZGEsf59ZpLYlUek0iFl0pdW+5LquNvlA2hA/J9ENpxJYHN4eguTNwRxxpEyzSwmfNXgukgRqDmcZT84UY9GkeaGJ2f2jfyCE525sqB2CAPcK7zx9MZ2Jt/UxsbX5APdX4skXDgck=",
6+
"body": {
7+
"Type": "Notification",
8+
"MessageId": "6dacdb4e-f8dd-5752-9f49-858ee02bcd55",
9+
"TopicArn": "arn:aws:sns:us-west-2:425362996713:DdTraceXLambda-snssqschecksNestedStacksnssqschecksNestedStackResource58F786C6-11NORKTA1JFML-snsProducerJavaForPythonNonRawsnssqsproducerjavaforpythonnonrawtopicDDBAB6EA-ZBb8uCZzkS0S",
10+
"Message": "hello from DdTraceXLambda-snssqschec-snssqsproducerjavaforpyt-z0t7yDk3zWt1",
11+
"Timestamp": "2024-05-16T14:22:46.902Z",
12+
"SignatureVersion": "1",
13+
"Signature": "HBf+KLJg/1Crvg3T5a8jJwVwIjmiNe1jEZ1QXOw11x8At/nqXUrevdm/j8KR33w4gmW/MG6WPpafH8K5k+M+tmn8Mr4sWfJhzsfV4in8s6qbbesBCVL5TsGkfauBfSeOkvrH+2/MAnexUx1m28m+qLJyeTzozelT9IdEhm1ATg5bASeVQS3mFTWYvnO4DoJdMSS9O15ZUQSitjhB8Lv5/DRLKGIYYwhAqOVBVKBfbEbz/BbaI47dqu+uarxL4+m5wAUQIACncg/mxCIsB+oGdBVvFCd0YS7NahSpIKkL08tC78mvKZGiITPOzXw0VlmryWruNYyIXPPnTDhE31Pw6Q==",
14+
"SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-60eadc530605d63b8e62a523676ef735.pem",
15+
"UnsubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:425362996713:DdTraceXLambda-snssqschecksNestedStacksnssqschecksNestedStackResource58F786C6-11NORKTA1JFML-snsProducerJavaForPythonNonRawsnssqsproducerjavaforpythonnonrawtopicDDBAB6EA-ZBb8uCZzkS0S:d44c53e8-538c-472f-89e1-89c131d9cd26",
16+
"MessageAttributes": {}
17+
},
18+
"attributes": {
19+
"ApproximateReceiveCount": "1",
20+
"AWSTraceHeader": "Root=1-664616b6-00000000425c5f4f8367f57e;Parent=6b971d513e9f9847;Sampled=1",
21+
"SentTimestamp": "1715869366931",
22+
"SenderId": "AIDAIYLAVTDLUXBIEIX46",
23+
"ApproximateFirstReceiveTimestamp": "1715869366945"
24+
},
25+
"messageAttributes": {},
26+
"md5OfBody": "e4f9d1cfee42abb22f764d004e88e7f2",
27+
"eventSource": "aws:sqs",
28+
"eventSourceARN": "arn:aws:sqs:us-west-2:425362996713:DdTraceXLambda-snssqschecksNested-snsProducerJavaForPythonNonRawsns-1vws7QPqW8e6",
29+
"awsRegion": "us-west-2"
30+
}
31+
]
32+
}

tests/test_tracing.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,14 @@ def _wrap(*args, **kwargs):
213213
sampling_priority=1,
214214
),
215215
),
216+
(
217+
"sns-sqs-java-upstream",
218+
Context(
219+
trace_id=4781801699472307582,
220+
span_id=7752697518321801287,
221+
sampling_priority=1,
222+
),
223+
),
216224
(
217225
"sqs-string-msg-attribute",
218226
Context(

0 commit comments

Comments
 (0)