Skip to content

Commit b652a4e

Browse files
committed
add sorting for log diffing to improve flakyness
1 parent b13962a commit b652a4e

File tree

106 files changed

+1167
-872
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+1167
-872
lines changed

integration_tests/http-errors.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
const { datadog, sendDistributionMetric } = require("datadog-lambda-js");
2+
const https = require("https");
3+
4+
const urls = ["httpstat.us/400", "httpstat.us/500"];
5+
6+
async function handle(event, context) {
7+
const responsePayload = { message: "hello, dog!" };
8+
9+
sendDistributionMetric("serverless.integration_test.execution", 1, "function:http-request");
10+
11+
for (let index = 0; index < urls.length; index++) {
12+
await httpsGet(urls[index]);
13+
}
14+
15+
console.log(`Snapshot test http requests successfully made to URLs: ${urls}`);
16+
17+
return responsePayload;
18+
}
19+
20+
async function httpsGet(url) {
21+
const requestOptions = {
22+
host: url,
23+
method: "GET",
24+
protocol: "https:",
25+
path: "/",
26+
};
27+
28+
return new Promise(function(resolve, reject) {
29+
const request = https.request(requestOptions);
30+
31+
request.on("response", (response) => {
32+
resolve(response);
33+
});
34+
request.on("error", (error) => {
35+
reject(error);
36+
});
37+
38+
request.end();
39+
});
40+
}
41+
42+
module.exports.handle = process.env.WITH_PLUGIN ? handle : datadog(handle);

integration_tests/http-requests.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,4 @@ async function httpsGet(url) {
3939
});
4040
}
4141

42-
if (process.env.WITH_PLUGIN) {
43-
module.exports.handle = handle;
44-
} else {
45-
module.exports.handle = datadog(handle);
46-
}
42+
module.exports.handle = process.env.WITH_PLUGIN ? handle : datadog(handle);

integration_tests/package.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"name": "integration_tests",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "http-errors.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1"
8+
},
9+
"keywords": [],
10+
"author": "",
11+
"license": "ISC",
12+
"dependencies": {
13+
"datadog-lambda-js": "^3.27.0"
14+
},
15+
"devDependencies": {
16+
"serverless-plugin-datadog": "^2.2.0"
17+
}
18+
}

integration_tests/process-input-traced.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,4 @@ const getAPIGatewayRequestId = tracer.wrap("getAPIGatewayRequestId", (event) =>
7474
return requestId;
7575
});
7676

77-
if (process.env.WITH_PLUGIN) {
78-
module.exports.handle = handle;
79-
} else {
80-
module.exports.handle = datadog(handle);
81-
}
77+
module.exports.handle = process.env.WITH_PLUGIN ? handle : datadog(handle);

integration_tests/send-metrics.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,4 @@ async function handle(event, context) {
4747
return responsePayload;
4848
}
4949

50-
if (process.env.WITH_PLUGIN) {
51-
module.exports.handle = handle;
52-
} else {
53-
module.exports.handle = datadog(handle);
54-
}
50+
module.exports.handle = process.env.WITH_PLUGIN ? handle : datadog(handle);

integration_tests/serverless-plugin.yml

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
service: integration-tester-plugin
1+
service: integration-plugin
22

33
provider:
44
name: aws
5-
tracing:
6-
lambda: true
7-
apiGateway: true
85
environment:
96
DD_INTEGRATION_TEST: true
107
DD_API_KEY: ${env:DD_API_KEY}
@@ -19,7 +16,7 @@ layers:
1916

2017
functions:
2118
# async-metrics
22-
async-metrics_node10:
19+
async-metrics_node10_with_plugin:
2320
handler: send-metrics.handle
2421
runtime: nodejs10.x
2522
layers:
@@ -28,7 +25,7 @@ functions:
2825
DD_FLUSH_TO_LOG: true
2926
WITH_PLUGIN: true
3027

31-
async-metrics_node12:
28+
async-metrics_node12_with_plugin:
3229
handler: send-metrics.handle
3330
runtime: nodejs12.x
3431
layers:
@@ -38,15 +35,15 @@ functions:
3835
WITH_PLUGIN: true
3936

4037
# sync-metrics
41-
sync-metrics_node10:
38+
sync-metrics_node10_with_plugin:
4239
handler: send-metrics.handle
4340
runtime: nodejs10.x
4441
layers:
4542
- { Ref: Node10LambdaLayer }
4643
environment:
4744
WITH_PLUGIN: true
4845

49-
sync-metrics_node12:
46+
sync-metrics_node12_with_plugin:
5047
handler: send-metrics.handle
5148
runtime: nodejs12.x
5249
layers:
@@ -55,15 +52,15 @@ functions:
5552
WITH_PLUGIN: true
5653

5754
# http-requests
58-
http-requests_node10:
55+
http-requests_node10_with_plugin:
5956
handler: http-requests.handle
6057
runtime: nodejs10.x
6158
layers:
6259
- { Ref: Node10LambdaLayer }
6360
environment:
6461
WITH_PLUGIN: true
6562

66-
http-requests_node12:
63+
http-requests_node12_with_plugin:
6764
handler: http-requests.handle
6865
runtime: nodejs12.x
6966
layers:
@@ -72,22 +69,39 @@ functions:
7269
WITH_PLUGIN: true
7370

7471
# process-input-traced
75-
process-input-traced_node10:
72+
process-input-traced_node10_with_plugin:
7673
handler: process-input-traced.handle
7774
runtime: nodejs10.x
7875
layers:
7976
- { Ref: Node10LambdaLayer }
8077
environment:
81-
DD_FLUSH_TO_LOG: true
8278
WITH_PLUGIN: true
79+
DD_FLUSH_TO_LOG: true
8380

84-
process-input-traced_node12:
81+
process-input-traced_node12_with_plugin:
8582
handler: process-input-traced.handle
8683
runtime: nodejs12.x
8784
layers:
8885
- { Ref: Node12LambdaLayer }
8986
environment:
87+
WITH_PLUGIN: true
9088
DD_FLUSH_TO_LOG: true
89+
90+
# http-errors
91+
http-errors_node10_with_plugin:
92+
handler: http-errors.handle
93+
runtime: nodejs10.x
94+
layers:
95+
- { Ref: Node10LambdaLayer }
96+
environment:
97+
WITH_PLUGIN: true
98+
99+
http-errors_node12_with_plugin:
100+
handler: http-errors.handle
101+
runtime: nodejs12.x
102+
layers:
103+
- { Ref: Node12LambdaLayer }
104+
environment:
91105
WITH_PLUGIN: true
92106

93107
plugins:

integration_tests/serverless.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
service: integration-tester
1+
service: integration
22

33
provider:
44
name: aws
@@ -77,3 +77,17 @@ functions:
7777
- { Ref: Node12LambdaLayer }
7878
environment:
7979
DD_FLUSH_TO_LOG: true
80+
81+
# http-errors
82+
http-errors_node10:
83+
handler: http-errors.handle
84+
runtime: nodejs10.x
85+
layers:
86+
- { Ref: Node10LambdaLayer }
87+
88+
http-errors_node12:
89+
handler: http-errors.handle
90+
runtime: nodejs12.x
91+
layers:
92+
- { Ref: Node12LambdaLayer }
93+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
START RequestId: XXXX Version: $LATEST
2+
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-async-metrics_node10","resource:integration-dev-async-metrics_node10","cold_start:true","memorysize:1024","runtime:nodejs10.x"],"v":1}
3+
{"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:APIGateway","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
4+
XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request
5+
END RequestId: XXXX
6+
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms
7+
XRAY TraceId: XXXX SegmentId: XXXX Sampled: true
8+
9+
START RequestId: XXXX Version: $LATEST
10+
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-async-metrics_node10","resource:integration-dev-async-metrics_node10","cold_start:false","memorysize:1024","runtime:nodejs10.x"],"v":1}
11+
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["tagkey:tagvalue","eventsource:SNS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
12+
{"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:SNS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
13+
XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed SNS request
14+
END RequestId: XXXX
15+
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB
16+
XRAY TraceId: XXXX SegmentId: XXXX Sampled: true
17+
18+
START RequestId: XXXX Version: $LATEST
19+
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-dev-async-metrics_node10","resource:integration-dev-async-metrics_node10","cold_start:false","memorysize:1024","runtime:nodejs10.x"],"v":1}
20+
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["tagkey:tagvalue","eventsource:SQS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
21+
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["tagkey:tagvalue","eventsource:SQS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
22+
{"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:SQS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
23+
XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed SQS request
24+
END RequestId: XXXX
25+
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB
26+
XRAY TraceId: XXXX SegmentId: XXXX Sampled: true

integration_tests/snapshots/logs/async-metrics_node10_with-plugin.log

Lines changed: 0 additions & 53 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
START RequestId: XXXX Version: $LATEST
2+
XXXX-XX-XX XX:XX:XX.XXX undefined INFO /var/task send-metrics.handle
3+
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-async-metrics_node10_with_plugin","resource:integration-plugin-dev-async-metrics_node10_with_plugin","cold_start:true","memorysize:1024","runtime:nodejs10.x"],"v":1}
4+
{"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:APIGateway","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
5+
XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed APIGateway request
6+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-async-metrics_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-async-metrics_node10_with_plugin","cold_start":"true","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-async-metrics_node10_with_plugin","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
7+
END RequestId: XXXX
8+
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB Init Duration: XXXX ms
9+
XRAY TraceId: XXXX SegmentId: XXXX Sampled: true
10+
11+
START RequestId: XXXX Version: $LATEST
12+
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-async-metrics_node10_with_plugin","resource:integration-plugin-dev-async-metrics_node10_with_plugin","cold_start:false","memorysize:1024","runtime:nodejs10.x"],"v":1}
13+
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["tagkey:tagvalue","eventsource:SNS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
14+
{"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:SNS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
15+
XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed SNS request
16+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-async-metrics_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-async-metrics_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-async-metrics_node10_with_plugin","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
17+
END RequestId: XXXX
18+
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB
19+
XRAY TraceId: XXXX SegmentId: XXXX Sampled: true
20+
21+
START RequestId: XXXX Version: $LATEST
22+
{"e":XXXX,"m":"aws.lambda.enhanced.invocations","t":["region:us-east-1","account_id:XXXX","functionname:integration-plugin-dev-async-metrics_node10_with_plugin","resource:integration-plugin-dev-async-metrics_node10_with_plugin","cold_start:false","memorysize:1024","runtime:nodejs10.x"],"v":1}
23+
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["tagkey:tagvalue","eventsource:SQS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
24+
{"e":XXXX,"m":"serverless.integration_test.records_processed","t":["tagkey:tagvalue","eventsource:SQS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
25+
{"e":XXXX,"m":"serverless.integration_test.execution","t":["tagkey:tagvalue","eventsource:SQS","dd_lambda_layer:datadog-nodev10.XX.X"],"v":1}
26+
XXXX-XX-XX XX:XX:XX.XXX XXXX-XXXX-XXXX-XXXX-XXXX INFO [dd.trace_id=XXXX dd.span_id=XXXX] Processed SQS request
27+
{"traces":[[{"trace_id":"XXXX","span_id":"XXXX","parent_id":"XXXX","name":"aws.lambda","resource":"integration-plugin-dev-async-metrics_node10_with_plugin","error":0,"meta":{"_dd.origin":"lambda","service":"integration-plugin-dev-async-metrics_node10_with_plugin","cold_start":"false","function_arn":"XXXX_node10_with_plugin","function_version":"$LATEST","request_id":"XXXX","resource_names":"integration-plugin-dev-async-metrics_node10_with_plugin","_dd.parent_source":"xray"},"metrics":{"_sample_rate":1,"_sampling_priority_v1":2},"start":XXXX,"duration":XXXX,"service":"aws.lambda","type":"serverless"}]]}
28+
END RequestId: XXXX
29+
REPORT RequestId: XXXX Duration: XXXX ms Billed Duration: XXXX ms Memory Size: 1024 MB Max Memory Used: XXXX MB
30+
XRAY TraceId: XXXX SegmentId: XXXX Sampled: true

0 commit comments

Comments
 (0)