From bec4bfc7433ebff768625bd4bd1d8e5ac3b619e1 Mon Sep 17 00:00:00 2001 From: Rory& Date: Wed, 9 Jul 2025 18:01:16 +0200 Subject: [PATCH] Nest query times for clarity --- src/gateway/opcodes/Identify.ts | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 8beda596..b2778bb8 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -509,11 +509,6 @@ export async function onIdentify(this: WebSocket, data: Payload) { userQueryTime, validateIntentsAndShardingTime, createSessionTime, - sessionSaveTime, - applicationQueryTime, - read_statesQueryTime, - membersQueryTime, - recipientsQueryTime, totalQueryTime, createUserSettingsTime, mergedMembersTime, @@ -529,13 +524,29 @@ export async function onIdentify(this: WebSocket, data: Payload) { }; for (const [key, value] of Object.entries(times)) { if (value) { - _trace![1].calls.push(key, { micros: value.totalMicroseconds }); + const val = { micros: value.totalMicroseconds } as { micros: number; calls: TraceNode[] }; + _trace![1].calls.push(key, val); + if (key === "totalQueryTime") { + val.calls = []; + for (const [subkey, subvalue] of Object.entries({ + sessionSaveTime, + applicationQueryTime, + read_statesQueryTime, + membersQueryTime, + recipientsQueryTime, + })) { + if (subvalue) { + val.calls.push(subkey, { + micros: subvalue.totalMicroseconds, + } as TraceNode); + } + } + } } } - _trace![1].calls.push( - "buildTraceTime", - { micros: taskSw.elapsed().totalMicroseconds }, - ); + _trace![1].calls.push("buildTraceTime", { + micros: taskSw.elapsed().totalMicroseconds, + }); d._trace = [JSON.stringify(_trace)]; // Send READY