From acf753fd8f202b752ba12062ce5e6437f0c69c0c Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 21:40:22 +0000 Subject: [PATCH 1/6] Bumping sdk dependency to 2.48.0-beta.10 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8e7e9ba..e6f9255 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.9", + "@drift-labs/sdk": "2.48.0-beta.10", "@opentelemetry/api": "^1.1.0", "@opentelemetry/auto-instrumentations-node": "^0.31.1", "@opentelemetry/exporter-prometheus": "^0.31.0", diff --git a/yarn.lock b/yarn.lock index fe86aa4..f0588b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.9": - version "2.48.0-beta.9" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.9.tgz#2d0c99f58387ff3c5e45859ae4fe088339c8dd55" - integrity sha512-y0wrq680nv7Uwvcg9jOrjZPXxoae9yRg8M9B4bQgDFeNJmZNmcEmnLhWQ+CbPi8u/O0glhOdtKUk4UF9eSPXAg== +"@drift-labs/sdk@2.48.0-beta.10": + version "2.48.0-beta.10" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.10.tgz#c97e88216159da34f687762b40cab3ce971c6d39" + integrity sha512-g2Zxdg/BrgmnMtI46uz4idc2M0jC+Vsz03cmxMEfYuu5JwyMjgOjgU4WyuBDPtLV8ovbrgJ2GYPiOO5OpkQeJg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From d5c2bc1b013ad3ff0d81923c64ee21c58de4fed9 Mon Sep 17 00:00:00 2001 From: wphan Date: Tue, 28 Nov 2023 15:01:07 -0800 Subject: [PATCH 2/6] remove access logging --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 2a76e16..8caed26 100644 --- a/src/index.ts +++ b/src/index.ts @@ -66,7 +66,7 @@ const loadTestAllowed = process.env.ALLOW_LOAD_TEST?.toLowerCase() === 'true'; const logFormat = ':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent" :req[x-forwarded-for]'; const logHttp = morgan(logFormat, { - skip: (_req, res) => res.statusCode < 400, + skip: (_req, res) => res.statusCode <= 500, }); let driftClient: DriftClient; From 96dc728330f155fc9c61093869012b2f98b82662 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 23:07:02 +0000 Subject: [PATCH 3/6] Bumping sdk dependency to 2.48.0-beta.11 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e6f9255..9b8a8f8 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.10", + "@drift-labs/sdk": "2.48.0-beta.11", "@opentelemetry/api": "^1.1.0", "@opentelemetry/auto-instrumentations-node": "^0.31.1", "@opentelemetry/exporter-prometheus": "^0.31.0", diff --git a/yarn.lock b/yarn.lock index f0588b2..09455f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.10": - version "2.48.0-beta.10" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.10.tgz#c97e88216159da34f687762b40cab3ce971c6d39" - integrity sha512-g2Zxdg/BrgmnMtI46uz4idc2M0jC+Vsz03cmxMEfYuu5JwyMjgOjgU4WyuBDPtLV8ovbrgJ2GYPiOO5OpkQeJg== +"@drift-labs/sdk@2.48.0-beta.11": + version "2.48.0-beta.11" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.11.tgz#cd2f7b908754d49f62964ab894d3ab6c248dee3f" + integrity sha512-lhBlBUmKT3w9EMTDIBcEUdRgqZ6OHLfqPukxW4gVoa6eFqIpcaTk/DGTj3HCli6C684YwVHJfCQx4kXfffv6Sw== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From d1f2ad3538fcb710e283d07de26b230352fb1cb1 Mon Sep 17 00:00:00 2001 From: wphan Date: Tue, 28 Nov 2023 16:59:18 -0800 Subject: [PATCH 4/6] make health check more optimistic --- src/core/metrics.ts | 11 ++++++----- src/index.ts | 24 ++++++------------------ 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/src/core/metrics.ts b/src/core/metrics.ts index 344661a..99e9de0 100644 --- a/src/core/metrics.ts +++ b/src/core/metrics.ts @@ -134,11 +134,10 @@ const handleHealthCheck = async (req, res, next) => { if (lastHealthCheckState) { res.writeHead(200); res.end('OK'); - } else { - res.writeHead(500); - res.end(`NOK`); + lastHealthCheckPerformed = Date.now(); + return; } - return; + // always check if last check was unhealthy (give it another chance to recover) } const { lastSlotReceived, lastSlotReceivedMutex } = getSlotHealthCheckInfo(); @@ -149,7 +148,9 @@ const handleHealthCheck = async (req, res, next) => { lastHealthCheckState = lastSlotReceived > lastHealthCheckSlot; if (!lastHealthCheckState) { logger.error( - `Unhealthy: lastSlot: ${lastSlotReceived}, lastHealthCheckSlot: ${lastHealthCheckSlot}` + `Unhealthy: lastSlot: ${lastSlotReceived}, lastHealthCheckSlot: ${lastHealthCheckSlot}, timeSinceLastCheck: ${ + Date.now() - lastHealthCheckPerformed + } ms` ); } diff --git a/src/index.ts b/src/index.ts index 8caed26..7d06acb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -21,8 +21,8 @@ import { SlotSource, SlotSubscriber, UserMap, - UserStatsMap, Wallet, + getUserStatsAccountPublicKey, getVariant, groupL2, initialize, @@ -231,8 +231,6 @@ const main = async () => { lastSlotReceived = slotSource.getSlot(); }, ORDERBOOK_UPDATE_INTERVAL); - const userStatsMap = new UserStatsMap(driftClient); - logger.info(`Initializing userMap...`); const initUserMapStart = Date.now(); const userMap = new UserMap( @@ -243,12 +241,6 @@ const main = async () => { await userMap.subscribe(); logger.info(`userMap initialized in ${Date.now() - initUserMapStart} ms`); - const initUserStatsMapStarts = Date.now(); - await userStatsMap.sync(userMap.getUniqueAuthorities()); - logger.info( - `userStatsMap initialized in ${Date.now() - initUserStatsMapStarts} ms` - ); - logger.info(`Initializing DLOBSubscriber...`); const initDlobSubscriberStart = Date.now(); const dlobSubscriber = new DLOBSubscriber({ @@ -265,11 +257,7 @@ const main = async () => { MARKET_SUBSCRIBERS = await initializeAllMarketSubscribers(driftClient); const handleStartup = async (_req, res, _next) => { - if ( - driftClient.isSubscribed && - userMap.size() > 0 && - userStatsMap.size() > 0 - ) { + if (driftClient.isSubscribed && userMap.size() > 0) { res.writeHead(200); res.end('OK'); } else { @@ -559,12 +547,12 @@ const main = async () => { if (`${includeUserStats}`.toLowerCase() === 'true') { const userAccount = side.userAccount.toBase58(); await userMap.mustGet(userAccount); - const userStats = await userStatsMap.mustGet( - userMap.getUserAuthority(userAccount)!.toBase58() - ); topMakers.add([ userAccount, - userStats.userStatsAccountPublicKey.toBase58(), + getUserStatsAccountPublicKey( + driftClient.program.programId, + userMap.getUserAuthority(userAccount) + ), ]); } else { topMakers.add(side.userAccount.toBase58()); From ff83db8c2b6bd4088407f947ad57e9d7b4bd47d4 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 01:27:27 +0000 Subject: [PATCH 5/6] Bumping sdk dependency to 2.48.0-beta.12 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9b8a8f8..25bd411 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.11", + "@drift-labs/sdk": "2.48.0-beta.12", "@opentelemetry/api": "^1.1.0", "@opentelemetry/auto-instrumentations-node": "^0.31.1", "@opentelemetry/exporter-prometheus": "^0.31.0", diff --git a/yarn.lock b/yarn.lock index 09455f5..d8430ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.11": - version "2.48.0-beta.11" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.11.tgz#cd2f7b908754d49f62964ab894d3ab6c248dee3f" - integrity sha512-lhBlBUmKT3w9EMTDIBcEUdRgqZ6OHLfqPukxW4gVoa6eFqIpcaTk/DGTj3HCli6C684YwVHJfCQx4kXfffv6Sw== +"@drift-labs/sdk@2.48.0-beta.12": + version "2.48.0-beta.12" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.12.tgz#255332eb4437468daa7851d6c918567a231318a6" + integrity sha512-rVKFsZjPTpelIjBbT6cxK0tCDb1M6s7oPba8v21RT+w1GIZeTCVNDBKvgbarIURhAjqgkg73TmY0hHZ+FsufNg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 117927cb89b50cb842a489a073e1eef3c71dd0ba Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 01:41:40 +0000 Subject: [PATCH 6/6] Bumping sdk dependency to 2.48.0-beta.13 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 25bd411..729e823 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.12", + "@drift-labs/sdk": "2.48.0-beta.13", "@opentelemetry/api": "^1.1.0", "@opentelemetry/auto-instrumentations-node": "^0.31.1", "@opentelemetry/exporter-prometheus": "^0.31.0", diff --git a/yarn.lock b/yarn.lock index d8430ce..8f7a265 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.12": - version "2.48.0-beta.12" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.12.tgz#255332eb4437468daa7851d6c918567a231318a6" - integrity sha512-rVKFsZjPTpelIjBbT6cxK0tCDb1M6s7oPba8v21RT+w1GIZeTCVNDBKvgbarIURhAjqgkg73TmY0hHZ+FsufNg== +"@drift-labs/sdk@2.48.0-beta.13": + version "2.48.0-beta.13" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.13.tgz#0ad1cfd4daac97e1859fe617a749a2676e462b63" + integrity sha512-ogtY38Db44PVZOr8WwNHijnwVMBLFvIYNxmlE9BPehdEgIQ9PYT9QXalanhQ1Ruc/Cs5DbMIT3XvjtLyfFzEUg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2"