Skip to content

Commit 5d0d715

Browse files
committed
Merge remote-tracking branch 'upstream/main' into origin/gen-ai-sample-app
2 parents 53637ad + 29a7b5f commit 5d0d715

35 files changed

+141
-61
lines changed

.github/workflows/node-ec2-adot-sigv4-test.yml

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ env:
4040
E2E_TEST_ACCOUNT_ID: ${{ secrets.APPLICATION_SIGNALS_E2E_TEST_ACCOUNT_ID }}
4141
E2E_TEST_ROLE_NAME: ${{ secrets.APPLICATION_SIGNALS_E2E_TEST_ROLE_NAME }}
4242
METRIC_NAMESPACE: ApplicationSignals
43-
LOG_GROUP_NAME: aws/spans
43+
SPANS_LOG_GROUP_NAME: aws/spans
44+
APPLICATION_LOGS_LOG_GROUP_NAME: otlp_logs # This log group was created manually to store application logs
4445
TEST_RESOURCES_FOLDER: ${GITHUB_WORKSPACE}
4546

4647
jobs:
@@ -121,6 +122,7 @@ jobs:
121122
-var="get_adot_instrumentation_command=${{ env.GET_ADOT_INSTRUMENTATION_COMMAND }}" \
122123
-var="language_version=${{ env.NODE_VERSION }}" \
123124
-var="cpu_architecture=${{ env.CPU_ARCHITECTURE }}" \
125+
-var="application_logs_log_group=${{ env.APPLICATION_LOGS_LOG_GROUP_NAME }}" \
124126
|| deployment_failed=$?
125127
126128
if [ $deployment_failed -eq 1 ]; then
@@ -171,14 +173,14 @@ jobs:
171173
# Validation for pulse telemetry data
172174
- name: Validate generated EMF logs
173175
id: log-validation
174-
run: ./gradlew validator:run --args='-c node/ec2/adot-sigv4/log-validation.yml
176+
run: ./gradlew validator:run --args='-c node/ec2/adot-aws-otlp/log-validation.yml
175177
--testing-id ${{ env.TESTING_ID }}
176178
--endpoint http://${{ env.MAIN_SERVICE_ENDPOINT }}
177179
--remote-service-deployment-name ${{ env.REMOTE_SERVICE_IP }}:8001
178180
--region ${{ env.E2E_TEST_AWS_REGION }}
179181
--account-id ${{ env.E2E_TEST_ACCOUNT_ID }}
180182
--metric-namespace ${{ env.METRIC_NAMESPACE }}
181-
--log-group ${{ env.LOG_GROUP_NAME }}
183+
--log-group ${{ env.SPANS_LOG_GROUP_NAME }}
182184
--service-name node-sample-application-${{ env.TESTING_ID }}
183185
--remote-service-name node-sample-remote-application-${{ env.TESTING_ID }}
184186
--query-string ip=${{ env.REMOTE_SERVICE_IP }}&testingId=${{ env.TESTING_ID }}
@@ -189,14 +191,14 @@ jobs:
189191
- name: Validate generated metrics
190192
id: metric-validation
191193
if: (success() || steps.log-validation.outcome == 'failure') && !cancelled()
192-
run: ./gradlew validator:run --args='-c node/ec2/adot-sigv4/metric-validation.yml
194+
run: ./gradlew validator:run --args='-c node/ec2/adot-aws-otlp/metric-validation.yml
193195
--testing-id ${{ env.TESTING_ID }}
194196
--endpoint http://${{ env.MAIN_SERVICE_ENDPOINT }}
195197
--remote-service-deployment-name node-sample-remote-application-${{ env.TESTING_ID }}
196198
--region ${{ env.E2E_TEST_AWS_REGION }}
197199
--account-id ${{ env.E2E_TEST_ACCOUNT_ID }}
198200
--metric-namespace ${{ env.METRIC_NAMESPACE }}
199-
--log-group ${{ env.LOG_GROUP_NAME }}
201+
--log-group ${{ env.SPANS_LOG_GROUP_NAME }}
200202
--service-name node-sample-application-${{ env.TESTING_ID }}
201203
--remote-service-name node-sample-remote-application-${{ env.TESTING_ID }}
202204
--query-string ip=${{ env.REMOTE_SERVICE_IP }}&testingId=${{ env.TESTING_ID }}
@@ -207,14 +209,31 @@ jobs:
207209
- name: Validate generated traces
208210
id: trace-validation
209211
if: (success() || steps.log-validation.outcome == 'failure' || steps.metric-validation.outcome == 'failure') && !cancelled()
210-
run: ./gradlew validator:run --args='-c node/ec2/adot-sigv4/trace-validation.yml
212+
run: ./gradlew validator:run --args='-c node/ec2/adot-aws-otlp/trace-validation.yml
211213
--testing-id ${{ env.TESTING_ID }}
212214
--endpoint http://${{ env.MAIN_SERVICE_ENDPOINT }}
213215
--remote-service-deployment-name ${{ env.REMOTE_SERVICE_IP }}:8001
214216
--region ${{ env.E2E_TEST_AWS_REGION }}
215217
--account-id ${{ env.E2E_TEST_ACCOUNT_ID }}
216218
--metric-namespace ${{ env.METRIC_NAMESPACE }}
217-
--log-group ${{ env.LOG_GROUP_NAME }}
219+
--log-group ${{ env.SPANS_LOG_GROUP_NAME }}
220+
--service-name node-sample-application-${{ env.TESTING_ID }}
221+
--remote-service-name node-sample-remote-application-${{ env.TESTING_ID }}
222+
--query-string ip=${{ env.REMOTE_SERVICE_IP }}&testingId=${{ env.TESTING_ID }}
223+
--instance-ami ${{ env.EC2_INSTANCE_AMI }}
224+
--instance-id ${{ env.MAIN_SERVICE_INSTANCE_ID }}
225+
--rollup'
226+
227+
- name: Validate generated otlp logs
228+
id: application-log-validation
229+
run: ./gradlew validator:run --args='-c node/ec2/adot-aws-otlp/application-log-validation.yml
230+
--testing-id ${{ env.TESTING_ID }}
231+
--endpoint http://${{ env.MAIN_SERVICE_ENDPOINT }}
232+
--remote-service-deployment-name ${{ env.REMOTE_SERVICE_IP }}:8001
233+
--region ${{ env.E2E_TEST_AWS_REGION }}
234+
--account-id ${{ env.E2E_TEST_ACCOUNT_ID }}
235+
--metric-namespace ${{ env.METRIC_NAMESPACE }}
236+
--log-group ${{ env.APPLICATION_LOGS_LOG_GROUP_NAME }}
218237
--service-name node-sample-application-${{ env.TESTING_ID }}
219238
--remote-service-name node-sample-remote-application-${{ env.TESTING_ID }}
220239
--query-string ip=${{ env.REMOTE_SERVICE_IP }}&testingId=${{ env.TESTING_ID }}

sample-apps/node/frontend-service/index.js

Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@
33
const http = require('http');
44
const express = require('express');
55
const mysql = require('mysql2');
6+
const bunyan = require('bunyan');
67
const { S3Client, GetBucketLocationCommand } = require('@aws-sdk/client-s3');
78

89
const PORT = parseInt(process.env.SAMPLE_APP_PORT || '8000', 10);
910

1011
const app = express();
1112

13+
// Create bunyan logger
14+
const logger = bunyan.createLogger({name: 'express-app', level: 'info'});
15+
1216
app.get('/healthcheck', (req, res) => {
13-
console.log(`/healthcheck called successfully`)
17+
logger.info('/healthcheck called successfully');
1418
res.send('healthcheck');
1519
});
1620

@@ -23,12 +27,14 @@ app.get('/outgoing-http-call', (req, res) => {
2327
const httpRequest = http.request(options, (rs) => {
2428
rs.setEncoding('utf8');
2529
rs.on('data', (result) => {
26-
console.log(`/outgoing-http-call called successfully`)
27-
res.send(`/outgoing-http-call called successfully`);
30+
const msg = '/outgoing-http-call called successfully';
31+
logger.info(msg);
32+
res.send(msg);
2833
});
2934
rs.on('error', (err) => {
30-
console.log(`/outgoing-http-call called with error: ${err}`)
31-
res.send(`/outgoing-http-call called with error: ${err}`);
35+
const msg = `/outgoing-http-call called with error: ${err}`;
36+
logger.error(msg);
37+
res.send(msg);
3238
});
3339
});
3440
httpRequest.end();
@@ -37,19 +43,26 @@ app.get('/outgoing-http-call', (req, res) => {
3743
app.get('/aws-sdk-call', async (req, res) => {
3844
const s3Client = new S3Client({ region: 'us-east-1' });
3945
const bucketName = 'e2e-test-bucket-name-' + (req.query.testingId || 'MISSING_ID');
46+
47+
// Add custom warning log for validation testing
48+
const warningMsg = "This is a custom log for validation testing";
49+
logger.warn(warningMsg);
50+
4051
try {
4152
await s3Client.send(
4253
new GetBucketLocationCommand({
4354
Bucket: bucketName,
4455
}),
4556
).then((data) => {
46-
console.log('/aws-sdk-call called successfully; UNEXPECTEDLY RETURNED DATA: ' + data);
47-
res.send('/aws-sdk-call called successfully; UNEXPECTEDLY RETURNED DATA: ' + data);
57+
const msg = '/aws-sdk-call called successfully; UNEXPECTEDLY RETURNED DATA: ' + data;
58+
logger.info(msg);
59+
res.send(msg);
4860
});
4961
} catch (e) {
5062
if (e instanceof Error) {
51-
console.log('/aws-sdk-call called successfully')
52-
res.send('/aws-sdk-call called successfully');
63+
const msg = '/aws-sdk-call called successfully';
64+
logger.info(msg);
65+
res.send(msg);
5366
}
5467
}
5568
});
@@ -66,14 +79,16 @@ app.get('/remote-service', (req, res) => {
6679
const request = http.request(options, (rs) => {
6780
rs.setEncoding('utf8');
6881
rs.on('data', (result) => {
69-
console.log(`/remote-service called successfully: ${result}`);
70-
res.send(`/remote-service called successfully: ${result}`);
82+
const msg = `/remote-service called successfully: ${result}`;
83+
logger.info(msg);
84+
res.send(msg);
7185
});
7286
});
7387
request.on('error', (err) => {
74-
console.log('/remote-service called with errors: ' + err.errors);
75-
res.send('/remote-service called with errors: ' + err.errors);
76-
})
88+
const msg = '/remote-service called with errors: ' + err.errors;
89+
logger.error(msg);
90+
res.send(msg);
91+
});
7792
request.end();
7893
});
7994

@@ -82,12 +97,14 @@ let makeAsyncCall = false;
8297
setInterval(() => {
8398
if (makeAsyncCall) {
8499
makeAsyncCall = false;
85-
console.log('Async call triggered by /client-call API');
100+
logger.info('Async call triggered by /client-call API');
86101

87102
const request = http.get('http://local-root-client-call', (rs) => {
88103
rs.setEncoding('utf8');
89104
rs.on('data', (result) => {
90-
res.send(`GET local-root-client-call response: ${result}`);
105+
const msg = `GET local-root-client-call response: ${result}`;
106+
logger.info(msg);
107+
res.send(msg);
91108
});
92109
});
93110
request.on('error', (err) => {}); // Expected
@@ -96,9 +113,9 @@ setInterval(() => {
96113
}, 5000); // Check every 5 seconds
97114

98115
app.get('/client-call', (req, res) => {
99-
res.send('/client-call called successfully');
100-
console.log('/client-call called successfully');
101-
116+
const msg = '/client-call called successfully';
117+
logger.info(msg);
118+
res.send(msg);
102119
// Trigger async call to generate telemetry for InternalOperation use case
103120
makeAsyncCall = true;
104121
});
@@ -115,8 +132,9 @@ app.get('/mysql', (req, res) => {
115132
// Connect to the database
116133
connection.connect((err) => {
117134
if (err) {
118-
console.log('/mysql called with an error: ', err.errors);
119-
return res.status(500).send('/mysql called with an error: ' + err.errors);
135+
const msg = '/mysql called with an error: ' + err.errors;
136+
logger.error(msg);
137+
return res.status(500).send(msg);
120138
}
121139

122140
// Perform a simple query
@@ -125,15 +143,19 @@ app.get('/mysql', (req, res) => {
125143
connection.end();
126144

127145
if (queryErr) {
128-
return res.status(500).send('Could not complete http request to RDS database:' + queryErr.message);
146+
const msg = 'Could not complete http request to RDS database:' + queryErr.message;
147+
logger.error(msg);
148+
return res.status(500).send(msg);
129149
}
130150

131151
// Send the query results as the response
132-
res.send(`/outgoing-http-call response: ${results}`);
152+
const msg = `/outgoing-http-call response: ${results}`;
153+
logger.info(msg);
154+
res.send(msg);
133155
});
134156
});
135157
});
136158

137159
app.listen(PORT, () => {
138-
console.log(`Listening for requests on http://localhost:${PORT}`);
160+
logger.info(`Listening for requests on http://localhost:${PORT}`);
139161
});

sample-apps/node/frontend-service/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"@types/express": "^4.17.21",
1515
"@types/node": "^20.14.6",
1616
"express": "^4.21.2",
17-
"mysql2": "^3.11.0"
17+
"mysql2": "^3.11.0",
18+
"bunyan": "^1.8.15"
1819
}
1920
}
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
'use strict';
22

33
const express = require('express');
4+
const bunyan = require('bunyan');
45

56
const PORT = parseInt(process.env.SAMPLE_APP_PORT || '8001', 10);
67

78
const app = express();
89

10+
// Create bunyan logger
11+
const logger = bunyan.createLogger({name: 'remote-service', level: 'info'});
12+
913
app.get('/healthcheck', (req, res) => {
10-
console.log(`/healthcheck (remote-service) called successfully`);
11-
res.send('/healthcheck (remote-service) called successfully');
14+
const msg = '/healthcheck (remote-service) called successfully';
15+
logger.info(msg);
16+
res.send(msg);
1217
});
1318

1419
app.listen(PORT, () => {
15-
console.log(`Listening for requests on http://localhost:${PORT}`);
16-
});
20+
logger.info(`Listening for requests on http://localhost:${PORT}`);
21+
});

sample-apps/node/remote-service/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"@types/node": "^20.14.6",
1616
"express": "^4.21.2",
1717
"mysql2": "^3.11.0",
18-
"nodemon": "^3.1.4"
18+
"nodemon": "^3.1.4",
19+
"bunyan": "^1.8.15"
1920
}
2021
}

terraform/node/ec2/adot-sigv4/main.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,14 @@ resource "null_resource" "main_service_setup" {
154154
# Note: We use OTEL_NODE_DISABLED_INSTRUMENTATIONS=fs,dns,express to avoid
155155
# having to validate around the telemetry generated for middleware
156156
tmux send-keys -t frontend 'export OTEL_AWS_APPLICATION_SIGNALS_ENABLED=false' C-m
157-
tmux send-keys -t frontend 'export OTEL_LOGS_EXPORTER=none' C-m
157+
tmux send-keys -t frontend 'export OTEL_LOGS_EXPORTER=otlp' C-m
158158
tmux send-keys -t frontend 'export OTEL_METRICS_EXPORTER=none' C-m
159159
tmux send-keys -t frontend 'export OTEL_TRACES_EXPORTER=otlp' C-m
160160
tmux send-keys -t frontend 'export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf' C-m
161+
tmux send-keys -t frontend 'export OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf' C-m
161162
tmux send-keys -t frontend 'export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.${var.aws_region}.amazonaws.com/v1/traces' C-m
163+
tmux send-keys -t frontend 'export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.${var.aws_region}.amazonaws.com/v1/logs' C-m
164+
tmux send-keys -t frontend 'export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=${var.application_logs_log_group},x-aws-log-stream=default' C-m
162165
tmux send-keys -t frontend 'export OTEL_NODE_DISABLED_INSTRUMENTATIONS=fs,dns,express' C-m
163166
tmux send-keys -t frontend 'export OTEL_SERVICE_NAME=node-sample-application-${var.test_id}' C-m
164167
tmux send-keys -t frontend 'export OTEL_TRACES_SAMPLER=always_on' C-m
@@ -263,11 +266,14 @@ resource "null_resource" "remote_service_setup" {
263266
# Note: We use OTEL_NODE_DISABLED_INSTRUMENTATIONS=fs,dns,express to avoid
264267
# having to validate around the telemetry generated for middleware
265268
tmux send-keys -t remote 'export OTEL_AWS_APPLICATION_SIGNALS_ENABLED=false' C-m
266-
tmux send-keys -t remote 'export OTEL_LOGS_EXPORTER=none' C-m
269+
tmux send-keys -t remote 'export OTEL_LOGS_EXPORTER=otlp' C-m
267270
tmux send-keys -t remote 'export OTEL_METRICS_EXPORTER=none' C-m
268271
tmux send-keys -t remote 'export OTEL_TRACES_EXPORTER=otlp' C-m
269272
tmux send-keys -t remote 'export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf' C-m
273+
tmux send-keys -t remote 'export OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf' C-m
270274
tmux send-keys -t remote 'export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.${var.aws_region}.amazonaws.com/v1/traces' C-m
275+
tmux send-keys -t remote 'export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.${var.aws_region}.amazonaws.com/v1/logs' C-m
276+
tmux send-keys -t remote 'export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=${var.application_logs_log_group},x-aws-log-stream=default' C-m
271277
tmux send-keys -t remote 'export OTEL_NODE_DISABLED_INSTRUMENTATIONS=fs,dns,express' C-m
272278
tmux send-keys -t remote 'export OTEL_SERVICE_NAME=node-sample-remote-application-${var.test_id}' C-m
273279
tmux send-keys -t remote 'export OTEL_TRACES_SAMPLER=always_on' C-m

terraform/node/ec2/adot-sigv4/variables.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,8 @@ variable "get_adot_instrumentation_command" {
4545

4646
variable "canary_type" {
4747
default = "node-ec2-default"
48+
}
49+
50+
variable "application_logs_log_group" {
51+
default = "otlp_logs"
4852
}

validator/src/main/java/com/amazon/aoc/fileconfigs/PredefinedExpectedTemplate.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -459,23 +459,26 @@ public enum PredefinedExpectedTemplate implements FileConfig {
459459

460460
/** Node EC2 ADOT SigV4 (Stand Alone ADOT) Test Case Validations */
461461
NODE_EC2_ADOT_SIGV4_OUTGOING_HTTP_CALL_LOG(
462-
"/expected-data-template/node/ec2/adot-sigv4/outgoing-http-call-log.mustache"),
462+
"/expected-data-template/node/ec2/adot-aws-otlp/outgoing-http-call-log.mustache"),
463463
NODE_EC2_ADOT_SIGV4_OUTGOING_HTTP_CALL_METRIC(
464-
"/expected-data-template/node/ec2/adot-sigv4/outgoing-http-call-metric.mustache"),
464+
"/expected-data-template/node/ec2/adot-aws-otlp/outgoing-http-call-metric.mustache"),
465465
NODE_EC2_ADOT_SIGV4_OUTGOING_HTTP_CALL_TRACE(
466-
"/expected-data-template/node/ec2/adot-sigv4/outgoing-http-call-trace.mustache"),
466+
"/expected-data-template/node/ec2/adot-aws-otlp/outgoing-http-call-trace.mustache"),
467467

468-
NODE_EC2_ADOT_SIGV4_AWS_SDK_CALL_LOG("/expected-data-template/node/ec2/adot-sigv4/aws-sdk-call-log.mustache"),
469-
NODE_EC2_ADOT_SIGV4_AWS_SDK_CALL_METRIC("/expected-data-template/node/ec2/adot-sigv4/aws-sdk-call-metric.mustache"),
470-
NODE_EC2_ADOT_SIGV4_AWS_SDK_CALL_TRACE("/expected-data-template/node/ec2/adot-sigv4/aws-sdk-call-trace.mustache"),
468+
NODE_EC2_ADOT_SIGV4_AWS_SDK_CALL_LOG("/expected-data-template/node/ec2/adot-aws-otlp/aws-sdk-call-log.mustache"),
469+
NODE_EC2_ADOT_SIGV4_AWS_SDK_CALL_METRIC("/expected-data-template/node/ec2/adot-aws-otlp/aws-sdk-call-metric.mustache"),
470+
NODE_EC2_ADOT_SIGV4_AWS_SDK_CALL_TRACE("/expected-data-template/node/ec2/adot-aws-otlp/aws-sdk-call-trace.mustache"),
471471

472-
NODE_EC2_ADOT_SIGV4_REMOTE_SERVICE_LOG("/expected-data-template/node/ec2/adot-sigv4/remote-service-log.mustache"),
473-
NODE_EC2_ADOT_SIGV4_REMOTE_SERVICE_METRIC("/expected-data-template/node/ec2/adot-sigv4/remote-service-metric.mustache"),
474-
NODE_EC2_ADOT_SIGV4_REMOTE_SERVICE_TRACE("/expected-data-template/node/ec2/adot-sigv4/remote-service-trace.mustache"),
472+
NODE_EC2_ADOT_SIGV4_REMOTE_SERVICE_LOG("/expected-data-template/node/ec2/adot-aws-otlp/remote-service-log.mustache"),
473+
NODE_EC2_ADOT_SIGV4_REMOTE_SERVICE_METRIC("/expected-data-template/node/ec2/adot-aws-otlp/remote-service-metric.mustache"),
474+
NODE_EC2_ADOT_SIGV4_REMOTE_SERVICE_TRACE("/expected-data-template/node/ec2/adot-aws-otlp/remote-service-trace.mustache"),
475475

476-
NODE_EC2_ADOT_SIGV4_CLIENT_CALL_LOG("/expected-data-template/node/ec2/adot-sigv4/client-call-log.mustache"),
477-
NODE_EC2_ADOT_SIGV4_CLIENT_CALL_METRIC("/expected-data-template/node/ec2/adot-sigv4/client-call-metric.mustache"),
478-
NODE_EC2_ADOT_SIGV4_CLIENT_CALL_TRACE("/expected-data-template/node/ec2/adot-sigv4/client-call-trace.mustache"),
476+
NODE_EC2_ADOT_SIGV4_CLIENT_CALL_LOG("/expected-data-template/node/ec2/adot-aws-otlp/client-call-log.mustache"),
477+
NODE_EC2_ADOT_SIGV4_CLIENT_CALL_METRIC("/expected-data-template/node/ec2/adot-aws-otlp/client-call-metric.mustache"),
478+
NODE_EC2_ADOT_SIGV4_CLIENT_CALL_TRACE("/expected-data-template/node/ec2/adot-aws-otlp/client-call-trace.mustache"),
479+
480+
/** Node EC2 ADOT SigV4 Log Exporter Test Case Validation */
481+
NODE_EC2_ADOT_OTLP_LOG("/expected-data-template/node/ec2/adot-aws-otlp/application-log.mustache"),
479482

480483
/** Node ECS Test Case Validations */
481484
NODE_ECS_HC_CALL_LOG("/expected-data-template/node/ecs/hc-log.mustache"),

validator/src/main/resources/expected-data-template/dotnet/ec2/asg/aws-sdk-call-trace.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "^{{serviceName}}$",
33
"http": {
44
"request": {
5-
"url": "^{{endpoint}}/aws-sdk-call(?:\\?ip=Redacted&testingId=Redacted)?$",
5+
"url": "^{{endpoint}}/aws-sdk-call(?:\\?{1,2}ip=Redacted&testingId=Redacted)?$",
66
"method": "^GET$"
77
}
88
},

validator/src/main/resources/expected-data-template/dotnet/ec2/asg/remote-service-trace.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "^{{serviceName}}$",
33
"http": {
44
"request": {
5-
"url": "^{{endpoint}}/remote-service$",
5+
"url": "^{{endpoint}}/remote-service(?:\\?{1,2}ip=Redacted&testingId=Redacted)?$",
66
"method": "^GET$"
77
}
88
},

0 commit comments

Comments
 (0)