Skip to content

Commit 25a92a1

Browse files
authored
Merge pull request #525 from grafana/hedss-update-app
Updates the Mythical source.
2 parents 7dd0c6f + 278c896 commit 25a92a1

15 files changed

Lines changed: 15012 additions & 11023 deletions

File tree

grafana/definitions/k6.json

Lines changed: 4606 additions & 3773 deletions
Large diffs are not rendered by default.

grafana/definitions/mlt-erroring-endpoints.json

Lines changed: 421 additions & 302 deletions
Large diffs are not rendered by default.

grafana/definitions/mlt.json

Lines changed: 1101 additions & 812 deletions
Large diffs are not rendered by default.

grafana/definitions/traces-in-dashboards.json

Lines changed: 476 additions & 314 deletions
Large diffs are not rendered by default.

source/mythical-beasts-frontend/package-lock.json

Lines changed: 331 additions & 456 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/mythical-beasts-frontend/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
"private": true,
55
"type": "module",
66
"dependencies": {
7-
"@grafana/faro-web-sdk": "^1.19.0",
8-
"@grafana/faro-web-tracing": "^1.19.0",
9-
"axios": "^1.13.2",
7+
"@grafana/faro-web-sdk": "^2.9.0",
8+
"@grafana/faro-web-tracing": "^2.9.0",
9+
"axios": "^1.18.0",
1010
"react": "^18.3.1",
1111
"react-dom": "^18.3.1"
1212
},

source/mythical-beasts-recorder/package-lock.json

Lines changed: 3137 additions & 969 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/mythical-beasts-recorder/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@
1111
"license": "ISC",
1212
"dependencies": {
1313
"@opentelemetry/api": "^1.9.0",
14-
"@opentelemetry/auto-instrumentations-node": "^0.69.0",
14+
"@opentelemetry/auto-instrumentations-node": "^0.79.0",
1515
"@opentelemetry/core": "^2.2.0",
16-
"@opentelemetry/exporter-trace-otlp-grpc": "^0.211.0",
16+
"@opentelemetry/exporter-trace-otlp-grpc": "^0.221.0",
1717
"@opentelemetry/instrumentation": "^0.211.0",
1818
"@opentelemetry/resources": "^2.2.0",
1919
"@opentelemetry/sdk-trace-base": "^2.2.0",
2020
"@opentelemetry/sdk-trace-node": "^2.2.0",
2121
"@opentelemetry/semantic-conventions": "^1.38.0",
2222
"@pyroscope/nodejs": "^0.4.8",
2323
"amqplib": "^0.10.9",
24-
"axios": "^1.13.2",
24+
"axios": "^1.18.0",
2525
"express": "^5.2.1",
2626
"prom-client": "github:voltbit/prom-client#add-openmetrics-support"
2727
}

source/mythical-beasts-requester/index.js

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -60,26 +60,29 @@ const makeRequest = async (tracingObj, sendMessage, logEntry) => {
6060
return date.toISOString();
6161
}
6262

63+
let serverHostPort = "mythical-server:4000"
64+
// check env var for override
65+
if (process.env.MYTHICAL_SERVER_HOST_PORT) {
66+
serverHostPort = process.env.MYTHICAL_SERVER_HOST_PORT
67+
}
68+
6369
// Create a new span, link to previous request to show how linking between traces works.
6470
const requestSpan = tracer.startSpan('requester', {
6571
kind: api.SpanKind.CLIENT,
6672
links: (previousReqSpanContext) ? [{ context: previousReqSpanContext }] : undefined,
6773
});
74+
6875
requestSpan.setAttribute(spanTag, endpoint);
69-
requestSpan.setAttribute(`http.target`, '/' + endpoint);
70-
requestSpan.setAttribute(`http.method`, type);
76+
requestSpan.setAttribute(`url.full`, `http://${serverHostPort}/${endpoint}`);
77+
requestSpan.setAttribute(`url.path`, '/' + endpoint);
78+
requestSpan.setAttribute(`http.request.method`, type);
7179
requestSpan.setAttribute('service.version', (Math.floor(Math.random() * 100)) < 50 ? '1.9.2' : '2.0.0');
7280
previousReqSpanContext = requestSpan.spanContext();
7381
const { traceId } = requestSpan.spanContext();
7482

7583
// Increment the danger level on the gauge
7684
dangerGauge.inc(dangerLevel);
7785

78-
let serverHostPort = "mythical-server:4000"
79-
// check env var for override
80-
if (process.env.MYTHICAL_SERVER_HOST_PORT) {
81-
serverHostPort = process.env.MYTHICAL_SERVER_HOST_PORT
82-
}
8386

8487
// Create a new context for this request
8588
api.context.with(api.trace.setSpan(api.context.active(), requestSpan), async () => {
@@ -98,7 +101,7 @@ const makeRequest = async (tracingObj, sendMessage, logEntry) => {
98101
job: `${servicePrefix}-requester`,
99102
endpointLabel: spanTag,
100103
endpoint,
101-
message: `traceID=${traceId} http.method=GET endpoint=${endpoint} loggedtime=${timeshift()} status=SUCCESS`,
104+
message: `traceID=${traceId} http.request.method=GET endpoint=${endpoint} loggedtime=${timeshift()} status=SUCCESS`,
102105
});
103106
names = result.data;
104107

@@ -117,7 +120,7 @@ const makeRequest = async (tracingObj, sendMessage, logEntry) => {
117120
job: `${servicePrefix}-requester`,
118121
endpointLabel: spanTag,
119122
endpoint,
120-
message: `traceID=${traceId} http.method=DELETE endpoint=${endpoint} loggedtime=${timeshift()} status=SUCCESS`,
123+
message: `traceID=${traceId} http.request.method=DELETE endpoint=${endpoint} loggedtime=${timeshift()} status=SUCCESS`,
121124
});
122125
}
123126
}
@@ -128,7 +131,7 @@ const makeRequest = async (tracingObj, sendMessage, logEntry) => {
128131
job: `${servicePrefix}-requester`,
129132
endpointLabel: spanTag,
130133
endpoint,
131-
message: `traceID=${traceId} http.method=DELETE endpoint=${endpoint} ` +
134+
message: `traceID=${traceId} http.request.method=DELETE endpoint=${endpoint} ` +
132135
`name=${(names) ? names[0].name : 'unknown'} status=FAILURE loggedtime=${timeshift()}`,
133136
});
134137
error = true;
@@ -146,7 +149,7 @@ const makeRequest = async (tracingObj, sendMessage, logEntry) => {
146149
job: `${servicePrefix}-requester`,
147150
endpointLabel: spanTag,
148151
endpoint,
149-
message: `traceID=${traceId} http.method=POST endpoint=${endpoint} loggedtime=${timeshift()} status=SUCCESS`,
152+
message: `traceID=${traceId} http.request.method=POST endpoint=${endpoint} loggedtime=${timeshift()} status=SUCCESS`,
150153
});
151154
} catch (err) {
152155
// The error condition is a little different here to using request. Axios throws a more generic error
@@ -158,20 +161,19 @@ const makeRequest = async (tracingObj, sendMessage, logEntry) => {
158161
job: `${servicePrefix}-requester`,
159162
endpointLabel: spanTag,
160163
endpoint,
161-
message: `traceID=${traceId} http.method=POST endpoint=${endpoint} name=${randomName}` +
164+
message: `traceID=${traceId} http.request.method=POST endpoint=${endpoint} name=${randomName}` +
162165
` loggedtime=${timeshift()} status=FAILURE`,
163166
});
164167
error = true;
165168
}
166-
167169
}
168170
logEntry({
169171
level: 'info',
170172
namespace: process.env.NAMESPACE,
171173
job: `${servicePrefix}-requester`,
172174
endpointLabel: spanTag,
173175
endpoint,
174-
message: `traceID=${traceId} http.method=${type} endpoint=${endpoint} duration=${Date.now() - start}ms loggedtime=${timeshift()}`,
176+
message: `traceID=${traceId} http.request.method=${type} endpoint=${endpoint} duration=${Date.now() - start}ms loggedtime=${timeshift()}`,
175177
});
176178

177179
// Set the status code as OK and end the span

0 commit comments

Comments
 (0)