@@ -175,14 +175,15 @@ for handler_name in "${LAMBDA_HANDLERS[@]}"; do
175
175
# Replace invocation-specific data like timestamps and IDs with XXXX to normalize logs across executions
176
176
logs=$(
177
177
echo " $raw_logs " |
178
+ node parse-json.js |
178
179
# Filter serverless cli errors
179
180
sed ' /Serverless: Recoverable error occurred/d' |
180
181
# Remove RequestsDependencyWarning from botocore/vendored/requests/__init__.py
181
182
sed ' /RequestsDependencyWarning/d' |
182
183
# Remove blank lines
183
184
sed ' /^$/d' |
184
185
# 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' |
186
187
# Normalize HTTP headers
187
188
sed -E " s/(x-datadog-parent-id:|x-datadog-trace-id:|Content-Length:)[0-9]+/\1XXXX/g" |
188
189
# Remove Account ID
@@ -204,12 +205,29 @@ for handler_name in "${LAMBDA_HANDLERS[@]}"; do
204
205
sed -E " s/(\" span_id\" \: \" )[A-Z0-9\.\-]+/\1XXXX/g" |
205
206
sed -E " s/(\" parent_id\" \: \" )[A-Z0-9\.\-]+/\1XXXX/g" |
206
207
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" |
207
211
sed -E " s/(\" duration\" \: )[0-9\.\-]+/\1\" XXXX\" /g" |
208
212
sed -E " s/(\" start\" \: )[0-9\.\-]+/\1\" XXXX\" /g" |
209
213
sed -E " s/(\" system\.pid\" \: )[0-9\.\-]+/\1\" XXXX\" /g" |
210
214
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" |
211
225
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" |
212
228
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" |
213
231
sed -E " /init complete at epoch/d" |
214
232
sed -E " /main started at epoch/d"
215
233
)
@@ -240,7 +258,7 @@ set -e
240
258
if [ " $mismatch_found " = true ]; then
241
259
echo " FAILURE: A mismatch between new data and a snapshot was found and printed above."
242
260
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"
244
262
exit 1
245
263
fi
246
264
0 commit comments