From f51e8bee192d5ea736c104b80841d0896b9bbf10 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Wed, 14 Sep 2022 16:07:59 +0100 Subject: [PATCH] feat(sourcemaps): refactored --- api/entrypoint.sh | 2 +- ee/api/entrypoint.sh | 2 +- sourcemap-reader/.gitignore | 1 + .../servers/sourcemaps-handler.js | 23 +++++++++++++++---- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/api/entrypoint.sh b/api/entrypoint.sh index 68f24cbd9..7342426c2 100755 --- a/api/entrypoint.sh +++ b/api/entrypoint.sh @@ -1,5 +1,5 @@ #!/bin/sh cd sourcemap-reader -nohup npm start &> /tmp/sourcemap-reader.log & +nohup npm start & cd .. uvicorn app:app --host 0.0.0.0 --port $LISTEN_PORT --reload --proxy-headers diff --git a/ee/api/entrypoint.sh b/ee/api/entrypoint.sh index fcb58b528..b5997ee3b 100755 --- a/ee/api/entrypoint.sh +++ b/ee/api/entrypoint.sh @@ -2,6 +2,6 @@ sh env_vars.sh source /tmp/.env.override cd sourcemap-reader -nohup npm start &> /tmp/sourcemap-reader.log & +nohup npm start & cd .. uvicorn app:app --host 0.0.0.0 --port $LISTEN_PORT --reload --proxy-headers diff --git a/sourcemap-reader/.gitignore b/sourcemap-reader/.gitignore index a4b05b411..09c49b304 100644 --- a/sourcemap-reader/.gitignore +++ b/sourcemap-reader/.gitignore @@ -4,3 +4,4 @@ npm-debug.log .cache test.html /utils/ +mappings.wasm diff --git a/sourcemap-reader/servers/sourcemaps-handler.js b/sourcemap-reader/servers/sourcemaps-handler.js index de9af4220..191267b5b 100644 --- a/sourcemap-reader/servers/sourcemaps-handler.js +++ b/sourcemap-reader/servers/sourcemaps-handler.js @@ -40,12 +40,21 @@ module.exports.sourcemapReader = async event => { Key: event.key }; return new Promise(function (resolve, reject) { + const getObjectStart = Date.now(); s3.getObject(options, (err, data) => { if (err) { console.error("[SR] Get S3 object failed"); console.error(err); return reject(err); } + const getObjectEnd = Date.now(); + const fileSize = (data.ContentLength / 1024) / 1024; + options.fileSize = `${fileSize} Mb`; + const downloadTime = (getObjectEnd - getObjectStart) / 1000; + options.downloadTime = `${downloadTime} s`; + if (fileSize >= 3) { + console.log("[SR] large file:" + JSON.stringify(options)); + } let sourcemap = data.Body.toString(); return new sourceMap.SourceMapConsumer(sourcemap) @@ -68,17 +77,15 @@ module.exports.sourcemapReader = async event => { preview = preview.slice(start, original.line + event.padding); } } else { - console.log("[SR] source not found, null preview for:"); - console.log(original.source); + console.log(`[SR] source not found, null preview for: ${original.source}`); preview = [] } url = URL.parse(original.source); } else { - console.log("[SR] couldn't find original position of:"); - console.log({ + console.log("[SR] couldn't find original position of: " + JSON.stringify({ line: event.positions[i].line, column: event.positions[i].column - }); + })); } let result = { "absPath": url.href, @@ -92,6 +99,12 @@ module.exports.sourcemapReader = async event => { results.push(result); } consumer = undefined; + + const sourcemapProcessingTime = (Date.now() - getObjectEnd) / 1000; + options.sourcemapProcessingTime = `${sourcemapProcessingTime} s` + if (fileSize >= 3 || sourcemapProcessingTime > 2) { + console.log("[SR] " + JSON.stringify(options)); + } // Use this code if you don't use the http event with the LAMBDA-PROXY integration return resolve(results); })