Skip to content

Commit 61047aa

Browse files
committed
fix: instead of trace id, send request correlation id in WireQueryAdapter
GitOrigin-RevId: da0d07a8d5144c5427eb0d903af9613b625b0257
1 parent 67da2d6 commit 61047aa

File tree

9 files changed

+31
-21
lines changed

9 files changed

+31
-21
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[![Docker Images](https://img.shields.io/badge/docker-latest-blue)](https://github.com/orgs/wirequery/packages?repo_name=wirequery&ecosystem=container)
22
[![Maven Central](https://img.shields.io/maven-central/v/com.wirequery/wirequery-spring-boot-3-starter)](https://central.sonatype.com/search?q=com.wirequery)
3+
[![NPM](https://img.shields.io/npm/v/@wirequery/wirequery-js-core)](https://www.npmjs.com/package/@wirequery/wirequery-js-core)
34

45
# WireQuery
56

sdk/js/examples/shop/package-lock.json

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

sdk/js/examples/shop/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"lint": "next lint"
1010
},
1111
"dependencies": {
12-
"@wirequery/wirequery-js-core": "0.0.4",
12+
"@wirequery/wirequery-js-core": "0.0.5",
1313
"@mantine/core": "^7.1.5",
1414
"@mantine/hooks": "^7.1.5",
1515
"@next/font": "13.5.5",

sdk/js/wirequery-js-core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@wirequery/wirequery-js-core",
3-
"version": "0.0.4",
3+
"version": "0.0.5",
44
"description": "WireQuery JS SDK Core",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

sdk/js/wirequery-js-core/src/core/recordNetworkPlugin.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,16 +316,19 @@ function initXhrObserver(
316316
'open',
317317
(originalOpen: any) => {
318318
// @ts-ignore
319-
const x: any = this
320319
return function (
321320
method: string,
322321
url: string | URL,
323322
async = true,
324323
username?: string | null,
325324
password?: string | null,
326325
) {
327-
const xhr = x as XMLHttpRequest;
326+
const xhr = this as XMLHttpRequest;
328327
const req = new Request(url);
328+
if ((window as any).recordingCorrelationId) {
329+
req.headers.set('wirequery-request-correlation-id', crypto.randomUUID())
330+
req.headers.set('wirequery-recording-correlation-id', (window as any).recordingCorrelationId)
331+
}
329332
const networkRequest: Partial<NetworkRequest> = {};
330333
let after: number | undefined;
331334
let before: number | undefined;
@@ -457,6 +460,10 @@ function initFetchObserver(
457460
});
458461
if (recordRequestHeaders) {
459462
networkRequest.requestHeaders = requestHeaders;
463+
} else {
464+
if (requestHeaders['wirequery-request-correlation-id']) {
465+
networkRequest.requestHeaders = {'wirequery-request-correlation-id': requestHeaders['wirequery-request-correlation-id']};
466+
}
460467
}
461468
if (shouldRecordBody('request', options.recordBody, requestHeaders)) {
462469
if (req.body === undefined || req.body === null) {

sdk/jvm/wirequery-spring-5/src/main/kotlin/com/wirequery/spring5/WireQueryAdapter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ class WireQueryAdapter(
183183
.setStartTime(startTime)
184184
.setEndTime(endTime)
185185
.let { if (traceId != null) it.setTraceId(traceId) else it }
186-
.let { if (requestCorrelationId != null) it.setRequestCorrelationId(traceId) else it }
186+
.let { if (requestCorrelationId != null) it.setRequestCorrelationId(requestCorrelationId) else it }
187187
.build()
188188
}
189189

@@ -202,7 +202,7 @@ class WireQueryAdapter(
202202
.setStartTime(startTime)
203203
.setEndTime(endTime)
204204
.let { if (traceId != null) it.setTraceId(traceId) else it }
205-
.let { if (requestCorrelationId != null) it.setRequestCorrelationId(traceId) else it }
205+
.let { if (requestCorrelationId != null) it.setRequestCorrelationId(requestCorrelationId) else it }
206206
.build()
207207
}
208208

sdk/jvm/wirequery-spring-6/src/main/kotlin/com/wirequery/spring6/WireQueryAdapter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ class WireQueryAdapter(
183183
.setStartTime(startTime)
184184
.setEndTime(endTime)
185185
.let { if (traceId != null) it.setTraceId(traceId) else it }
186-
.let { if (requestCorrelationId != null) it.setRequestCorrelationId(traceId) else it }
186+
.let { if (requestCorrelationId != null) it.setRequestCorrelationId(requestCorrelationId) else it }
187187
.build()
188188
}
189189

@@ -202,7 +202,7 @@ class WireQueryAdapter(
202202
.setStartTime(startTime)
203203
.setEndTime(endTime)
204204
.let { if (traceId != null) it.setTraceId(traceId) else it }
205-
.let { if (requestCorrelationId != null) it.setRequestCorrelationId(traceId) else it }
205+
.let { if (requestCorrelationId != null) it.setRequestCorrelationId(requestCorrelationId) else it }
206206
.build()
207207
}
208208

wirequery/manager-server/src/main/kotlin/com/wirequery/manager/domain/querylog/QueryLogService.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,16 @@ class QueryLogService(
118118
jdbcTemplate.update {
119119
val ps =
120120
it.prepareStatement(
121-
"INSERT INTO query_logs (stored_query_id, message, start_time, end_time, app_name, trace_id, created_at, main) VALUES (?, ?, ?, ?, ?, ?, ?, TRUE)",
121+
"INSERT INTO query_logs (stored_query_id, message, start_time, end_time, app_name, trace_id, request_correlation_id, created_at, main) VALUES (?, ?, ?, ?, ?, ?, ?, ?, TRUE)",
122122
)
123123
ps.setInt(1, input.storedQueryId)
124124
ps.setString(2, input.message)
125125
ps.setLong(3, input.startTime)
126126
ps.setLong(4, input.endTime)
127127
ps.setString(5, input.appName)
128128
ps.setString(6, queryLogEntity.traceId)
129-
ps.setTimestamp(7, ts)
129+
ps.setString(7, queryLogEntity.requestCorrelationId)
130+
ps.setTimestamp(8, ts)
130131
ps
131132
}
132133

@@ -140,7 +141,7 @@ class QueryLogService(
140141
return queryLog
141142
}
142143

143-
/** Stores as non-tracing log. */
144+
/** Stores as tracing log. */
144145
fun putTrace(storedQuery: QueryReport): QueryLog? {
145146
val storedQueryId = storedQuery.queryId.split(":")[1].toInt()
146147

@@ -167,15 +168,16 @@ class QueryLogService(
167168
jdbcTemplate.update {
168169
val ps =
169170
it.prepareStatement(
170-
"INSERT INTO query_logs (stored_query_id, message, start_time, end_time, app_name, trace_id, created_at, main) VALUES (?, ?, ?, ?, ?, ?, ?, FALSE)",
171+
"INSERT INTO query_logs (stored_query_id, message, start_time, end_time, app_name, trace_id, request_correlation_id, created_at, main) VALUES (?, ?, ?, ?, ?, ?, ?, ?, FALSE)",
171172
)
172173
ps.setInt(1, queryLogEntity.storedQueryId)
173174
ps.setString(2, queryLogEntity.message)
174175
ps.setLong(3, queryLogEntity.startTime)
175176
ps.setLong(4, queryLogEntity.endTime)
176177
ps.setString(5, queryLogEntity.appName)
177178
ps.setString(6, queryLogEntity.traceId)
178-
ps.setTimestamp(7, ts)
179+
ps.setString(7, queryLogEntity.requestCorrelationId)
180+
ps.setTimestamp(8, ts)
179181
ps
180182
}
181183

wirequery/manager-web/src/components/shared/app/recording/NetworkCalls.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export const NetworkCalls = (props: {
4848
{new Date(call.events[0].start).toLocaleTimeString()} (
4949
{call.events[0].end - call.events[0].start}ms)
5050
</div>
51-
<div style={{ marginTop: 10, marginBottom: 10 }}>
51+
<div style={{marginTop: 10, marginBottom: 10}}>
5252
<div>{call.url}</div>
5353
<div style={{ float: 'right', marginRight: '15px' }}>
5454
{props.correlationMap?.[call.correlationId] ? (

0 commit comments

Comments
 (0)