@@ -175,14 +175,15 @@ for handler_name in "${LAMBDA_HANDLERS[@]}"; do
175175 # Replace invocation-specific data like timestamps and IDs with XXXX to normalize logs across executions
176176 logs=$(
177177 echo " $raw_logs " |
178+ node parse-json.js |
178179 # Filter serverless cli errors
179180 sed ' /Serverless: Recoverable error occurred/d' |
180181 # Remove RequestsDependencyWarning from botocore/vendored/requests/__init__.py
181182 sed ' /RequestsDependencyWarning/d' |
182183 # Remove blank lines
183184 sed ' /^$/d' |
184185 # Normalize Lambda runtime REPORT logs
185- sed -E ' s/(RequestId|TraceId|SegmentId|Duration|Memory Used|"e"): [a-z0-9\.\-]+/\1: XXXX/g' |
186+ sed -E ' s/(RequestId|TraceId|SegmentId|Duration|init| Memory Used|"e"): [a-z0-9\.\-]+/\1: XXXX/g' |
186187 # Normalize HTTP headers
187188 sed -E " s/(x-datadog-parent-id:|x-datadog-trace-id:|Content-Length:)[0-9]+/\1XXXX/g" |
188189 # Remove Account ID
@@ -204,12 +205,29 @@ for handler_name in "${LAMBDA_HANDLERS[@]}"; do
204205 sed -E " s/(\" span_id\" \: \" )[A-Z0-9\.\-]+/\1XXXX/g" |
205206 sed -E " s/(\" parent_id\" \: \" )[A-Z0-9\.\-]+/\1XXXX/g" |
206207 sed -E " s/(\" request_id\" \: \" )[a-z0-9\.\-]+/\1XXXX/g" |
208+ sed -E " s/(\" http.source_ip\" \: \" )[a-z0-9\.\-]+/\1XXXX/g" |
209+ sed -E " s/(\" http.user_agent\" \: \" )[a-z0-9\.\-]+/\1XXXX/g" |
210+ sed -E " s/(\" function_trigger.event_source_arn\" \: \" )[A-Za-z0-9\/\.\:\-]+/\1XXXX/g" |
207211 sed -E " s/(\" duration\" \: )[0-9\.\-]+/\1\" XXXX\" /g" |
208212 sed -E " s/(\" start\" \: )[0-9\.\-]+/\1\" XXXX\" /g" |
209213 sed -E " s/(\" system\.pid\" \: )[0-9\.\-]+/\1\" XXXX\" /g" |
210214 sed -E " s/(\" runtime-id\" \: \" )[a-z0-9\.\-]+/\1XXXX/g" |
215+ sed -E " s/([a-zA-Z0-9]+)(\.execute-api\.[a-z0-9\-]+\.amazonaws\.com)/XXXX\2/g" |
216+ sed -E " s/(\" apiid\" \: \" )[a-z0-9\.\-]+/\1XXXX/g" |
217+ sed -E " s/(\" apiname\" \: \" )[a-z0-9\.\-]+/\1XXXX/g" |
218+ sed -E " s/(\" function_trigger.event_source_arn\" \: \" )[a-z0-9\.\-\:]+/\1XXXX/g" |
219+ sed -E " s/(\" event_id\" \: \" )[a-zA-Z0-9\:\-]+/\1XXXX/g" |
220+ sed -E " s/(\" message_id\" \: \" )[a-zA-Z0-9\:\-]+/\1XXXX/g" |
221+ sed -E " s/(\" request_id\" \:\ \" )[a-zA-Z0-9\-\=]+/\1XXXX/g" |
222+ sed -E " s/(\" connection_id\" \:\ \" )[a-zA-Z0-9\-]+/\1XXXX/g" |
223+ sed -E " s/(\" shardId\-)([0-9]+)\:([a-zA-Z0-9]+)[a-zA-Z0-9]/\1XXXX:XXXX/g" |
224+ sed -E " s/(\" shardId\-)[0-9a-zA-Z]+/\1XXXX/g" |
211225 sed -E " s/(\" datadog_lambda\" \: \" )([0-9]+\.[0-9]+\.[0-9])/\1X.X.X/g" |
226+ sed -E " s/(\" partition_key\" \:\ \" )[a-zA-Z0-9\-]+/\1XXXX/g" |
227+ sed -E " s/(\" object_etag\" \:\ \" )[a-zA-Z0-9\-]+/\1XXXX/g" |
212228 sed -E " s/(\" dd_trace\" \: \" )([0-9]+\.[0-9]+\.[0-9])/\1X.X.X/g" |
229+ # Parse out account ID in ARN
230+ sed -E " s/([a-zA-Z0-9]+):([a-zA-Z0-9]+):([a-zA-Z0-9]+):([a-zA-Z0-9\-]+):([a-zA-Z0-9\-\:]+)/\1:\2:\3:\4:XXXX:\4/g" |
213231 sed -E " /init complete at epoch/d" |
214232 sed -E " /main started at epoch/d"
215233 )
@@ -240,7 +258,7 @@ set -e
240258if [ " $mismatch_found " = true ]; then
241259 echo " FAILURE: A mismatch between new data and a snapshot was found and printed above."
242260 echo " If the change is expected, generate new snapshots by running 'UPDATE_SNAPSHOTS=true DD_API_KEY=XXXX ./scripts/run_integration_tests.sh'"
243- echo " Make sure https://httpstat.us/400/ is UP for ` http_error` test case"
261+ echo " Make sure https://httpstat.us/400/ is UP for ' http_error' test case"
244262 exit 1
245263fi
246264
0 commit comments