Skip to content

Commit d09ed5f

Browse files
authored
Merge pull request #2538 from visualize-admin/otel-add-endpoint
feat(otel): add endpoint in traces
2 parents 09d3383 + 454f462 commit d09ed5f

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ You can also check the
1111

1212
## Unreleased
1313

14+
- Features
15+
- Add SPARQL endpoints in the OpenTelemetry traces
16+
1417
### 6.4.0 – 2026-03-13
1518

1619
- Maintenance

app/graphql/context.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ const setupSparqlClients = (
101101
endpointUrl: SPARQL_GEO_ENDPOINT,
102102
});
103103

104+
const sourceUrlHostname = new URL(sourceUrl).hostname;
105+
const geoEndpointHostname = new URL(SPARQL_GEO_ENDPOINT).hostname;
106+
104107
const saveTimingToContext: TimingCallback = (t, ...args: [string]) => {
105108
ctx.queries.push({
106109
startTime: t.start,
@@ -118,9 +121,11 @@ const setupSparqlClients = (
118121
return tracer.startActiveSpan("sparqlClient.query.select", async (span) => {
119122
try {
120123
span.setAttribute("db.sparql.has_query_event", true);
124+
span.setAttribute("server.address", sourceUrlHostname);
121125
span.addEvent("sparql.query", {
122126
"db.query.text": query,
123127
"db.system.name": "sparql",
128+
"url.full": sourceUrl,
124129
});
125130
return await originalSparqlClientQuerySelect.call(this, query, ...args);
126131
} finally {
@@ -140,9 +145,11 @@ const setupSparqlClients = (
140145
async (span) => {
141146
try {
142147
span.setAttribute("db.sparql.has_query_event", true);
148+
span.setAttribute("server.address", sourceUrlHostname);
143149
span.addEvent("sparql.query", {
144150
"db.query.text": query,
145151
"db.system.name": "sparql",
152+
"url.full": sourceUrl,
146153
});
147154
return await originalSparqlClientQueryConstruct.call(
148155
this,
@@ -167,9 +174,11 @@ const setupSparqlClients = (
167174
async (span) => {
168175
try {
169176
span.setAttribute("db.sparql.has_query_event", true);
177+
span.setAttribute("server.address", sourceUrlHostname);
170178
span.addEvent("sparql.query", {
171179
"db.query.text": query,
172180
"db.system.name": "sparql",
181+
"url.full": sourceUrl,
173182
});
174183
return await originalSparqlClientStreamQuerySelect.call(
175184
this,
@@ -195,9 +204,11 @@ const setupSparqlClients = (
195204
async (span) => {
196205
try {
197206
span.setAttribute("db.sparql.has_query_event", true);
207+
span.setAttribute("server.address", sourceUrlHostname);
198208
span.addEvent("sparql.query", {
199209
"db.query.text": query,
200210
"db.system.name": "sparql",
211+
"url.full": sourceUrl,
201212
});
202213
return await originalSparqlClientStreamQueryConstruct.call(
203214
this,
@@ -222,9 +233,11 @@ const setupSparqlClients = (
222233
async (span) => {
223234
try {
224235
span.setAttribute("db.sparql.has_query_event", true);
236+
span.setAttribute("server.address", geoEndpointHostname);
225237
span.addEvent("sparql.query", {
226238
"db.query.text": query,
227239
"db.system.name": "sparql",
240+
"url.full": SPARQL_GEO_ENDPOINT,
228241
});
229242
return await originalGeoSparqlClientQuerySelect.call(
230243
this,
@@ -249,9 +262,11 @@ const setupSparqlClients = (
249262
async (span) => {
250263
try {
251264
span.setAttribute("db.sparql.has_query_event", true);
265+
span.setAttribute("server.address", geoEndpointHostname);
252266
span.addEvent("sparql.query", {
253267
"db.query.text": query,
254268
"db.system.name": "sparql",
269+
"url.full": SPARQL_GEO_ENDPOINT,
255270
});
256271
return await originalGeoSparqlClientQueryConstruct.call(
257272
this,

0 commit comments

Comments
 (0)