From 04e19291c4c95f855fcc007f597d9b2772b33420 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 10:01:11 +0100 Subject: [PATCH 01/19] feat(chalice): changed user-trail period --- ee/api/chalicelib/core/traces.py | 2 +- ee/api/env.default | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ee/api/chalicelib/core/traces.py b/ee/api/chalicelib/core/traces.py index 35339a133..14f26e0b6 100644 --- a/ee/api/chalicelib/core/traces.py +++ b/ee/api/chalicelib/core/traces.py @@ -201,6 +201,6 @@ def get_available_actions(tenant_id): cron_jobs = [ - {"func": process_traces_queue, "trigger": "interval", "seconds": config("traces_period", cast=int, default=60), + {"func": process_traces_queue, "trigger": "interval", "seconds": config("TRACE_PERIOD", cast=int, default=60), "misfire_grace_time": 20} ] diff --git a/ee/api/env.default b/ee/api/env.default index bf1b0b251..c7678be2f 100644 --- a/ee/api/env.default +++ b/ee/api/env.default @@ -67,4 +67,5 @@ EXP_METRICS=true EXP_7D_MV=false EXP_ALERTS=false EXP_FUNNELS=false -EXP_RESOURCES=true \ No newline at end of file +EXP_RESOURCES=true +TRACE_PERIOD=300 \ No newline at end of file From 7b6ba7744babac5c628f401f7a6011bb67890d4f Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 10:27:45 +0100 Subject: [PATCH 02/19] feat(chalice): assist endpoint key --- api/chalicelib/core/assist.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/api/chalicelib/core/assist.py b/api/chalicelib/core/assist.py index 0f2c515cf..1603ee6f0 100644 --- a/api/chalicelib/core/assist.py +++ b/api/chalicelib/core/assist.py @@ -6,6 +6,7 @@ from chalicelib.core import projects from starlette.exceptions import HTTPException from os import access, R_OK +ASSIST_KEY = config("ASSIST_KEY", default=config("S3_KEY")) SESSION_PROJECTION_COLS = """s.project_id, s.session_id::text AS session_id, s.user_uuid, @@ -47,7 +48,7 @@ def get_live_sessions_ws(project_id, body: schemas.LiveSessionsSearchPayloadSche def __get_live_sessions_ws(project_id, data): project_key = projects.get_project_key(project_id) try: - connected_peers = requests.post(config("ASSIST_URL") + config("assist") % config("S3_KEY") + f"/{project_key}", + connected_peers = requests.post(config("ASSIST_URL") + config("assist") % ASSIST_KEY + f"/{project_key}", json=data, timeout=config("assistTimeout", cast=int, default=5)) if connected_peers.status_code != 200: print("!! issue with the peer-server") @@ -79,7 +80,7 @@ def get_live_session_by_id(project_id, session_id): project_key = projects.get_project_key(project_id) try: connected_peers = requests.get( - config("ASSIST_URL") + config("assist") % config("S3_KEY") + f"/{project_key}/{session_id}", + config("ASSIST_URL") + config("assist") % ASSIST_KEY + f"/{project_key}/{session_id}", timeout=config("assistTimeout", cast=int, default=5)) if connected_peers.status_code != 200: print("!! issue with the peer-server") @@ -109,7 +110,7 @@ def is_live(project_id, session_id, project_key=None): project_key = projects.get_project_key(project_id) try: connected_peers = requests.get( - config("ASSIST_URL") + config("assistList") % config("S3_KEY") + f"/{project_key}/{session_id}", + config("ASSIST_URL") + config("assistList") % ASSIST_KEY + f"/{project_key}/{session_id}", timeout=config("assistTimeout", cast=int, default=5)) if connected_peers.status_code != 200: print("!! issue with the peer-server") @@ -138,7 +139,7 @@ def autocomplete(project_id, q: str, key: str = None): params["key"] = key try: results = requests.get( - config("ASSIST_URL") + config("assistList") % config("S3_KEY") + f"/{project_key}/autocomplete", + config("ASSIST_URL") + config("assistList") % ASSIST_KEY + f"/{project_key}/autocomplete", params=params, timeout=config("assistTimeout", cast=int, default=5)) if results.status_code != 200: print("!! issue with the peer-server") From b211a3eab94f781466b4f553918a9820275ee1be Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 11:48:50 +0100 Subject: [PATCH 03/19] feat(chalice): assist endpoint key feat(chalice): smr endpoint key feat(assist): endpoint key feat(sourcemap-reader): endpoint key --- api/chalicelib/core/assist.py | 15 +++++---- api/chalicelib/core/sourcemaps_parser.py | 11 +++++-- api/env.default | 8 ++--- ee/api/env.default | 8 ++--- ee/utilities/server.js | 38 ++++++++++++----------- ee/utilities/servers/websocket-cluster.js | 2 +- ee/utilities/servers/websocket.js | 2 +- ee/utilities/utils/helper-ee.js | 2 +- sourcemap-reader/server.js | 8 +++-- utilities/server.js | 13 ++++++-- utilities/servers/websocket.js | 2 +- 11 files changed, 63 insertions(+), 46 deletions(-) diff --git a/api/chalicelib/core/assist.py b/api/chalicelib/core/assist.py index 1603ee6f0..6d30f3a58 100644 --- a/api/chalicelib/core/assist.py +++ b/api/chalicelib/core/assist.py @@ -7,6 +7,7 @@ from starlette.exceptions import HTTPException from os import access, R_OK ASSIST_KEY = config("ASSIST_KEY", default=config("S3_KEY")) +ASSIST_URL = config("ASSIST_URL") % ASSIST_KEY SESSION_PROJECTION_COLS = """s.project_id, s.session_id::text AS session_id, s.user_uuid, @@ -48,7 +49,7 @@ def get_live_sessions_ws(project_id, body: schemas.LiveSessionsSearchPayloadSche def __get_live_sessions_ws(project_id, data): project_key = projects.get_project_key(project_id) try: - connected_peers = requests.post(config("ASSIST_URL") + config("assist") % ASSIST_KEY + f"/{project_key}", + connected_peers = requests.post(ASSIST_URL + config("assist") + f"/{project_key}", json=data, timeout=config("assistTimeout", cast=int, default=5)) if connected_peers.status_code != 200: print("!! issue with the peer-server") @@ -79,9 +80,8 @@ def __get_live_sessions_ws(project_id, data): def get_live_session_by_id(project_id, session_id): project_key = projects.get_project_key(project_id) try: - connected_peers = requests.get( - config("ASSIST_URL") + config("assist") % ASSIST_KEY + f"/{project_key}/{session_id}", - timeout=config("assistTimeout", cast=int, default=5)) + connected_peers = requests.get(ASSIST_URL + config("assist") + f"/{project_key}/{session_id}", + timeout=config("assistTimeout", cast=int, default=5)) if connected_peers.status_code != 200: print("!! issue with the peer-server") print(connected_peers.text) @@ -109,9 +109,8 @@ def is_live(project_id, session_id, project_key=None): if project_key is None: project_key = projects.get_project_key(project_id) try: - connected_peers = requests.get( - config("ASSIST_URL") + config("assistList") % ASSIST_KEY + f"/{project_key}/{session_id}", - timeout=config("assistTimeout", cast=int, default=5)) + connected_peers = requests.get(ASSIST_URL + config("assistList") + f"/{project_key}/{session_id}", + timeout=config("assistTimeout", cast=int, default=5)) if connected_peers.status_code != 200: print("!! issue with the peer-server") print(connected_peers.text) @@ -139,7 +138,7 @@ def autocomplete(project_id, q: str, key: str = None): params["key"] = key try: results = requests.get( - config("ASSIST_URL") + config("assistList") % ASSIST_KEY + f"/{project_key}/autocomplete", + ASSIST_URL + config("assistList") + f"/{project_key}/autocomplete", params=params, timeout=config("assistTimeout", cast=int, default=5)) if results.status_code != 200: print("!! issue with the peer-server") diff --git a/api/chalicelib/core/sourcemaps_parser.py b/api/chalicelib/core/sourcemaps_parser.py index a6c2a92cc..72e5b8483 100644 --- a/api/chalicelib/core/sourcemaps_parser.py +++ b/api/chalicelib/core/sourcemaps_parser.py @@ -2,6 +2,14 @@ import requests from decouple import config +SMR_URL = config("sourcemaps_reader") + +if '%s' in SMR_URL: + if config("SMR_KEY", default=None) is not None: + SMR_URL = SMR_URL % config("SMR_KEY") + else: + SMR_URL = SMR_URL % "smr" + def get_original_trace(key, positions): payload = { @@ -16,8 +24,7 @@ def get_original_trace(key, positions): if len(config('S3_HOST', default="")) > 0: payload["S3_HOST"] = config('S3_HOST') try: - r = requests.post(config("sourcemaps_reader"), json=payload, - timeout=config("sourcemapTimeout", cast=int, default=5)) + r = requests.post(SMR_URL, json=payload, timeout=config("sourcemapTimeout", cast=int, default=5)) if r.status_code != 200: print(f"Issue getting sourcemap status_code:{r.status_code}") return None diff --git a/api/env.default b/api/env.default index 563514d1c..b40d2918b 100644 --- a/api/env.default +++ b/api/env.default @@ -26,9 +26,9 @@ jwt_algorithm=HS512 jwt_exp_delta_seconds=2592000 jwt_issuer=openreplay-default-foss jwt_secret="SET A RANDOM STRING HERE" -ASSIST_URL=http://assist-openreplay.app.svc.cluster.local:9001 -assist=/assist/%s/sockets-live -assistList=/assist/%s/sockets-list +ASSIST_URL=http://assist-openreplay.app.svc.cluster.local:9001/assist/%s +assist=/sockets-live +assistList=/sockets-list pg_dbname=postgres pg_host=postgresql.db.svc.cluster.local pg_password=asayerPostgres @@ -45,7 +45,7 @@ sentryURL= sessions_bucket=mobs sessions_region=us-east-1 sourcemaps_bucket=sourcemaps -sourcemaps_reader=http://127.0.0.1:9000/sourcemaps +sourcemaps_reader=http://127.0.0.1:9000/sourcemaps/%s stage=default-foss version_number=1.4.0 FS_DIR=/mnt/efs \ No newline at end of file diff --git a/ee/api/env.default b/ee/api/env.default index c7678be2f..2341dfc9c 100644 --- a/ee/api/env.default +++ b/ee/api/env.default @@ -37,9 +37,9 @@ jwt_algorithm=HS512 jwt_exp_delta_seconds=2592000 jwt_issuer=openreplay-default-ee jwt_secret="SET A RANDOM STRING HERE" -ASSIST_URL=http://assist-openreplay.app.svc.cluster.local:9001 -assist=/assist/%s/sockets-live -assistList=/assist/%s/sockets-list +ASSIST_URL=http://assist-openreplay.app.svc.cluster.local:9001/assist/%s +assist=/sockets-live +assistList=/sockets-list pg_dbname=postgres pg_host=postgresql.db.svc.cluster.local pg_password=asayerPostgres @@ -56,7 +56,7 @@ sentryURL= sessions_bucket=mobs sessions_region=us-east-1 sourcemaps_bucket=sourcemaps -sourcemaps_reader=http://127.0.0.1:9000/sourcemaps +sourcemaps_reader=http://127.0.0.1:9000/sourcemaps/%s stage=default-ee version_number=1.0.0 FS_DIR=/mnt/efs diff --git a/ee/utilities/server.js b/ee/utilities/server.js index f80059a00..c0664c155 100644 --- a/ee/utilities/server.js +++ b/ee/utilities/server.js @@ -10,22 +10,23 @@ if (process.env.redis === "true") { const HOST = process.env.LISTEN_HOST || '0.0.0.0'; const PORT = process.env.LISTEN_PORT || 9001; +const P_KEY = process.env.ASSIST_KEY || process.env.S3_KEY; -let debug = process.env.debug === "1" || false; -const PREFIX = process.env.prefix || `/assist` +let debug = process.env.debug === "1"; +const PREFIX = process.env.PREFIX || process.env.prefix || `/assist` if (process.env.uws !== "true") { let wsapp = express(); wsapp.use(express.json()); wsapp.use(express.urlencoded({extended: true})); wsapp.use(request_logger("[wsapp]")); - wsapp.get([PREFIX, `${PREFIX}/`], (req, res) => { + wsapp.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { res.statusCode = 200; res.end("ok!"); } ); - wsapp.use(`/heapdump/${process.env.S3_KEY}`, dumps.router); - wsapp.use(`${PREFIX}/${process.env.S3_KEY}`, socket.wsRouter); + wsapp.use(`/heapdump/${P_KEY}`, dumps.router); + wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter); wsapp.enable('trust proxy'); const wsserver = wsapp.listen(PORT, HOST, () => { console.log(`WS App listening on http://${HOST}:${PORT}`); @@ -46,7 +47,8 @@ if (process.env.uws !== "true") { } uapp.get(PREFIX, healthFn); uapp.get(`${PREFIX}/`, healthFn); - uapp.get(`${PREFIX}/${process.env.S3_KEY}`, healthFn); + uapp.get(`${PREFIX}/${P_KEY}`, healthFn); + uapp.get(`${PREFIX}/${P_KEY}/`, healthFn); /* Either onAborted or simply finished request */ @@ -73,19 +75,19 @@ if (process.env.uws !== "true") { return fn(req, res); } } - uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList)); - uapp.post(`${PREFIX}/${process.env.S3_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList)); - uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list/:projectKey/autocomplete`, uWrapper(socket.handlers.autocomplete)); - uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list/:projectKey`, uWrapper(socket.handlers.socketsListByProject)); - uapp.post(`${PREFIX}/${process.env.S3_KEY}/sockets-list/:projectKey`, uWrapper(socket.handlers.socketsListByProject)); - uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list/:projectKey/:sessionId`, uWrapper(socket.handlers.socketsListByProject)); + uapp.get(`${PREFIX}/${P_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList)); + uapp.post(`${PREFIX}/${P_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList)); + uapp.get(`${PREFIX}/${P_KEY}/sockets-list/:projectKey/autocomplete`, uWrapper(socket.handlers.autocomplete)); + uapp.get(`${PREFIX}/${P_KEY}/sockets-list/:projectKey`, uWrapper(socket.handlers.socketsListByProject)); + uapp.post(`${PREFIX}/${P_KEY}/sockets-list/:projectKey`, uWrapper(socket.handlers.socketsListByProject)); + uapp.get(`${PREFIX}/${P_KEY}/sockets-list/:projectKey/:sessionId`, uWrapper(socket.handlers.socketsListByProject)); - uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-live`, uWrapper(socket.handlers.socketsLive)); - uapp.post(`${PREFIX}/${process.env.S3_KEY}/sockets-live`, uWrapper(socket.handlers.socketsLive)); - uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-live/:projectKey/autocomplete`, uWrapper(socket.handlers.autocomplete)); - uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-live/:projectKey`, uWrapper(socket.handlers.socketsLiveByProject)); - uapp.post(`${PREFIX}/${process.env.S3_KEY}/sockets-live/:projectKey`, uWrapper(socket.handlers.socketsLiveByProject)); - uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-live/:projectKey/:sessionId`, uWrapper(socket.handlers.socketsLiveByProject)); + uapp.get(`${PREFIX}/${P_KEY}/sockets-live`, uWrapper(socket.handlers.socketsLive)); + uapp.post(`${PREFIX}/${P_KEY}/sockets-live`, uWrapper(socket.handlers.socketsLive)); + uapp.get(`${PREFIX}/${P_KEY}/sockets-live/:projectKey/autocomplete`, uWrapper(socket.handlers.autocomplete)); + uapp.get(`${PREFIX}/${P_KEY}/sockets-live/:projectKey`, uWrapper(socket.handlers.socketsLiveByProject)); + uapp.post(`${PREFIX}/${P_KEY}/sockets-live/:projectKey`, uWrapper(socket.handlers.socketsLiveByProject)); + uapp.get(`${PREFIX}/${P_KEY}/sockets-live/:projectKey/:sessionId`, uWrapper(socket.handlers.socketsLiveByProject)); socket.start(uapp); diff --git a/ee/utilities/servers/websocket-cluster.js b/ee/utilities/servers/websocket-cluster.js index bc68be6aa..ab3d3ea59 100644 --- a/ee/utilities/servers/websocket-cluster.js +++ b/ee/utilities/servers/websocket-cluster.js @@ -28,7 +28,7 @@ const pubClient = createClient({url: REDIS_URL}); const subClient = pubClient.duplicate(); console.log(`Using Redis: ${REDIS_URL}`); let io; -const debug = process.env.debug === "1" || false; +const debug = process.env.debug === "1"; const createSocketIOServer = function (server, prefix) { if (process.env.uws !== "true") { diff --git a/ee/utilities/servers/websocket.js b/ee/utilities/servers/websocket.js index 11685ee78..259838fb1 100644 --- a/ee/utilities/servers/websocket.js +++ b/ee/utilities/servers/websocket.js @@ -23,7 +23,7 @@ const { const wsRouter = express.Router(); let io; -const debug = process.env.debug === "1" || false; +const debug = process.env.debug === "1"; const createSocketIOServer = function (server, prefix) { if (process.env.uws !== "true") { diff --git a/ee/utilities/utils/helper-ee.js b/ee/utilities/utils/helper-ee.js index 86997f0c4..e189135f0 100644 --- a/ee/utilities/utils/helper-ee.js +++ b/ee/utilities/utils/helper-ee.js @@ -1,5 +1,5 @@ const helper = require('./helper'); -let debug = process.env.debug === "1" || false; +let debug = process.env.debug === "1"; const getBodyFromUWSResponse = async function (res) { return new Promise(((resolve, reject) => { let buffer; diff --git a/sourcemap-reader/server.js b/sourcemap-reader/server.js index 1620bea8f..52374a2b0 100644 --- a/sourcemap-reader/server.js +++ b/sourcemap-reader/server.js @@ -5,16 +5,18 @@ const {request_logger} = require("./utils/helper"); const HOST = process.env.SR_HOST || '127.0.0.1'; const PORT = process.env.SR_PORT || 9000; +const PREFIX = process.env.PREFIX || process.env.prefix || `/sourcemaps` +const P_KEY = process.env.SMR_KEY || process.env.S3_KEY || 'smr'; const app = express(); app.use(request_logger("[SR]")); -app.get(['/'], (req, res) => { +app.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { res.statusCode = 200; res.end("ok!"); } ); -app.use('/sourcemaps', sourcemapsReaderServer); -app.use('/heapdump', dumps.router); +app.use(`${PREFIX}/${P_KEY}`, sourcemapsReaderServer); +app.use(`/heapdump/${P_KEY}`, dumps.router); const server = app.listen(PORT, HOST, () => { console.log(`SR App listening on http://${HOST}:${PORT}`); diff --git a/utilities/server.js b/utilities/server.js index 96ef8d389..e243814e0 100644 --- a/utilities/server.js +++ b/utilities/server.js @@ -3,17 +3,24 @@ const express = require('express'); const socket = require("./servers/websocket"); const {request_logger} = require("./utils/helper"); -const debug = process.env.debug === "1" || false; +const debug = process.env.debug === "1"; const HOST = process.env.LISTEN_HOST || '0.0.0.0'; const PORT = process.env.LISTEN_PORT || 9001; +const P_KEY = process.env.ASSIST_KEY || process.env.S3_KEY; +const PREFIX = process.env.PREFIX || process.env.prefix || `/assist` const wsapp = express(); wsapp.use(express.json()); wsapp.use(express.urlencoded({extended: true})); wsapp.use(request_logger("[wsapp]")); -wsapp.use(`/assist/${process.env.S3_KEY}`, socket.wsRouter); -wsapp.use(`/heapdump/${process.env.S3_KEY}`, dumps.router); +wsapp.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { + res.statusCode = 200; + res.end("ok!"); + } +); +wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter); +wsapp.use(`/heapdump/${P_KEY}`, dumps.router); const wsserver = wsapp.listen(PORT, HOST, () => { console.log(`WS App listening on http://${HOST}:${PORT}`); diff --git a/utilities/servers/websocket.js b/utilities/servers/websocket.js index 351ce5be2..d93ef671a 100644 --- a/utilities/servers/websocket.js +++ b/utilities/servers/websocket.js @@ -21,7 +21,7 @@ const { const wsRouter = express.Router(); let io; -const debug = process.env.debug === "1" || false; +const debug = process.env.debug === "1"; const createSocketIOServer = function (server, prefix) { io = _io(server, { From a7a728f88acec16f7fae7d5e8c5c7b5948dd40dc Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 12:29:12 +0100 Subject: [PATCH 04/19] feat(assist): health check endpoint --- ee/utilities/server.js | 3 ++- utilities/server.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ee/utilities/server.js b/ee/utilities/server.js index c0664c155..ecc2554b3 100644 --- a/ee/utilities/server.js +++ b/ee/utilities/server.js @@ -20,7 +20,7 @@ if (process.env.uws !== "true") { wsapp.use(express.json()); wsapp.use(express.urlencoded({extended: true})); wsapp.use(request_logger("[wsapp]")); - wsapp.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { + wsapp.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { res.statusCode = 200; res.end("ok!"); } @@ -45,6 +45,7 @@ if (process.env.uws !== "true") { const healthFn = (res, req) => { res.writeStatus('200 OK').end('ok!'); } + uapp.get('/', healthFn); uapp.get(PREFIX, healthFn); uapp.get(`${PREFIX}/`, healthFn); uapp.get(`${PREFIX}/${P_KEY}`, healthFn); diff --git a/utilities/server.js b/utilities/server.js index e243814e0..39a537450 100644 --- a/utilities/server.js +++ b/utilities/server.js @@ -14,7 +14,7 @@ wsapp.use(express.json()); wsapp.use(express.urlencoded({extended: true})); wsapp.use(request_logger("[wsapp]")); -wsapp.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { +wsapp.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { res.statusCode = 200; res.end("ok!"); } From 253fd29ad5f70446db28e26d16ad26bf53e3db59 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 13:59:56 +0100 Subject: [PATCH 05/19] feat(sourcemaps-reader): changed env-var names --- sourcemap-reader/server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sourcemap-reader/server.js b/sourcemap-reader/server.js index 52374a2b0..4d14818c7 100644 --- a/sourcemap-reader/server.js +++ b/sourcemap-reader/server.js @@ -3,8 +3,8 @@ const sourcemapsReaderServer = require('./servers/sourcemaps-server'); const express = require('express'); const {request_logger} = require("./utils/helper"); -const HOST = process.env.SR_HOST || '127.0.0.1'; -const PORT = process.env.SR_PORT || 9000; +const HOST = process.env.SMR_HOST || '127.0.0.1'; +const PORT = process.env.SMR_PORT || 9000; const PREFIX = process.env.PREFIX || process.env.prefix || `/sourcemaps` const P_KEY = process.env.SMR_KEY || process.env.S3_KEY || 'smr'; From e956d3132c4dd6d5888aaf590e6fa666c79b5ea0 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 15:13:42 +0100 Subject: [PATCH 06/19] feat(chalice): changed reset password logs --- api/chalicelib/core/reset_password.py | 3 +-- ee/api/chalicelib/core/reset_password.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/api/chalicelib/core/reset_password.py b/api/chalicelib/core/reset_password.py index c15a4639b..2026cd829 100644 --- a/api/chalicelib/core/reset_password.py +++ b/api/chalicelib/core/reset_password.py @@ -4,8 +4,7 @@ from chalicelib.utils import email_helper, captcha, helper def reset(data: schemas.ForgetPasswordPayloadSchema): - print("====================== reset password ===============") - print(data) + print(f"====================== reset password {data.email}") if helper.allow_captcha() and not captcha.is_valid(data.g_recaptcha_response): print("error: Invalid captcha.") return {"errors": ["Invalid captcha."]} diff --git a/ee/api/chalicelib/core/reset_password.py b/ee/api/chalicelib/core/reset_password.py index bb83cfa3a..6f1af14b6 100644 --- a/ee/api/chalicelib/core/reset_password.py +++ b/ee/api/chalicelib/core/reset_password.py @@ -4,8 +4,7 @@ from chalicelib.utils import email_helper, captcha, helper def reset(data: schemas.ForgetPasswordPayloadSchema): - print("====================== reset password ===============") - print(data) + print(f"====================== reset password {data.email}") if helper.allow_captcha() and not captcha.is_valid(data.g_recaptcha_response): print("error: Invalid captcha.") return {"errors": ["Invalid captcha."]} From 06d41ef90d4f85586ac24b21af4aa7dc0895e683 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 15:31:45 +0100 Subject: [PATCH 07/19] feat(assist): mandatory ASSIST_KEY env var --- ee/utilities/server.js | 5 ++++- utilities/server.js | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ee/utilities/server.js b/ee/utilities/server.js index ecc2554b3..fb787f496 100644 --- a/ee/utilities/server.js +++ b/ee/utilities/server.js @@ -1,6 +1,8 @@ const dumps = require('./utils/HeapSnapshot'); const {request_logger} = require('./utils/helper'); const express = require('express'); +const assert = require('assert').strict; + let socket; if (process.env.redis === "true") { socket = require("./servers/websocket-cluster"); @@ -10,7 +12,8 @@ if (process.env.redis === "true") { const HOST = process.env.LISTEN_HOST || '0.0.0.0'; const PORT = process.env.LISTEN_PORT || 9001; -const P_KEY = process.env.ASSIST_KEY || process.env.S3_KEY; +assert.ok(process.env.ASSIST_KEY, 'The "ASSIST_KEY" environment variable is required'); +const P_KEY = process.env.ASSIST_KEY; let debug = process.env.debug === "1"; const PREFIX = process.env.PREFIX || process.env.prefix || `/assist` diff --git a/utilities/server.js b/utilities/server.js index 39a537450..54f94d2af 100644 --- a/utilities/server.js +++ b/utilities/server.js @@ -2,11 +2,13 @@ const dumps = require('./utils/HeapSnapshot'); const express = require('express'); const socket = require("./servers/websocket"); const {request_logger} = require("./utils/helper"); +const assert = require('assert').strict; const debug = process.env.debug === "1"; const HOST = process.env.LISTEN_HOST || '0.0.0.0'; const PORT = process.env.LISTEN_PORT || 9001; -const P_KEY = process.env.ASSIST_KEY || process.env.S3_KEY; +assert.ok(process.env.ASSIST_KEY, 'The "ASSIST_KEY" environment variable is required'); +const P_KEY = process.env.ASSIST_KEY; const PREFIX = process.env.PREFIX || process.env.prefix || `/assist` const wsapp = express(); From 38e7aba685c01763ac0b2639bf861ab63e9befce Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 15:33:34 +0100 Subject: [PATCH 08/19] feat(chalice): changed assist key --- api/chalicelib/core/assist.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/chalicelib/core/assist.py b/api/chalicelib/core/assist.py index 6d30f3a58..8c4053a9b 100644 --- a/api/chalicelib/core/assist.py +++ b/api/chalicelib/core/assist.py @@ -6,7 +6,7 @@ from chalicelib.core import projects from starlette.exceptions import HTTPException from os import access, R_OK -ASSIST_KEY = config("ASSIST_KEY", default=config("S3_KEY")) +ASSIST_KEY = config("ASSIST_KEY") ASSIST_URL = config("ASSIST_URL") % ASSIST_KEY SESSION_PROJECTION_COLS = """s.project_id, s.session_id::text AS session_id, From b8fc82d2f60c0b92bd047e678ba89bcda940aefe Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 15:49:20 +0100 Subject: [PATCH 09/19] feat(chalice): heatmaps search logs --- api/chalicelib/core/heatmaps.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/api/chalicelib/core/heatmaps.py b/api/chalicelib/core/heatmaps.py index 5aacb1375..fea3fb407 100644 --- a/api/chalicelib/core/heatmaps.py +++ b/api/chalicelib/core/heatmaps.py @@ -1,6 +1,5 @@ -from chalicelib.utils.TimeUTC import TimeUTC from chalicelib.utils import helper, pg_client -from chalicelib.utils import dev +from chalicelib.utils.TimeUTC import TimeUTC def get_by_url(project_id, data): @@ -22,8 +21,14 @@ def get_by_url(project_id, data): GROUP BY selector;""", args) - cur.execute( - query - ) + try: + cur.execute(query) + except Exception as err: + print("--------- HEATMAP SEARCH QUERY EXCEPTION -----------") + print(query.decode('UTF-8')) + print("--------- PAYLOAD -----------") + print(data) + print("--------------------") + raise err rows = cur.fetchall() - return helper.dict_to_camel_case(rows) + return helper.dict_to_camel_case(rows) From 3649061c15f8e24f1e5a4d2f9d03b37884c89a63 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 16:02:21 +0100 Subject: [PATCH 10/19] feat(chalice): conditional log --- ee/api/app.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ee/api/app.py b/ee/api/app.py index 9f2f9a306..ad9310f95 100644 --- a/ee/api/app.py +++ b/ee/api/app.py @@ -35,7 +35,9 @@ async def or_middleware(request: Request, call_next): now = int(time.time() * 1000) response: StreamingResponse = await call_next(request) if helper.TRACK_TIME: - print(f"Execution time: {int(time.time() * 1000) - now} ms") + now = int(time.time() * 1000) - now + if now > 500: + print(f"Execution time: {now} ms") except Exception as e: pg_client.close() raise e From a715cf9ffc34fb315329655cc9783650743506ae Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 16:05:28 +0100 Subject: [PATCH 11/19] feat(chalice): conditional logs feat(chalice): handle 0 projects --- api/chalicelib/core/projects.py | 2 +- ee/api/chalicelib/core/projects.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/chalicelib/core/projects.py b/api/chalicelib/core/projects.py index 100fe6765..ba334e101 100644 --- a/api/chalicelib/core/projects.py +++ b/api/chalicelib/core/projects.py @@ -90,7 +90,7 @@ def get_projects(tenant_id, recording_state=False, gdpr=None, recorded=False, st r.pop("first_recorded_session_at") r.pop("first_recorded") - if recording_state: + if recording_state and len(rows) > 0: project_ids = [f'({r["project_id"]})' for r in rows] query = cur.mogrify(f"""SELECT projects.project_id, COALESCE(MAX(start_ts), 0) AS last FROM (VALUES {",".join(project_ids)}) AS projects(project_id) diff --git a/ee/api/chalicelib/core/projects.py b/ee/api/chalicelib/core/projects.py index 9e5600865..c5ab7c800 100644 --- a/ee/api/chalicelib/core/projects.py +++ b/ee/api/chalicelib/core/projects.py @@ -103,7 +103,7 @@ def get_projects(tenant_id, recording_state=False, gdpr=None, recorded=False, st r.pop("first_recorded_session_at") r.pop("first_recorded") - if recording_state: + if recording_state and len(rows) > 0: project_ids = [f'({r["project_id"]})' for r in rows] query = cur.mogrify(f"""SELECT projects.project_id, COALESCE(MAX(start_ts), 0) AS last FROM (VALUES {",".join(project_ids)}) AS projects(project_id) From 97ee3e6192cd8116e3f7ebc6dc4d31ae3b52f7b5 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 16:47:23 +0100 Subject: [PATCH 12/19] feat(sourcemaps-reader): config heapdump feat(assist): config heapdump feat(peers): config heapdump feat(peers): endpoint key feat(sourcemaps-reader): env-vars S3 config feat(chalice): no S3 config for sourcempas reader --- api/chalicelib/core/sourcemaps_parser.py | 8 ++------ ee/utilities/server.js | 5 +++-- peers/server.js | 9 ++++++--- sourcemap-reader/server.js | 5 +++-- sourcemap-reader/servers/sourcemaps-handler.js | 12 ++---------- utilities/server.js | 3 ++- 6 files changed, 18 insertions(+), 24 deletions(-) diff --git a/api/chalicelib/core/sourcemaps_parser.py b/api/chalicelib/core/sourcemaps_parser.py index 72e5b8483..c8918cace 100644 --- a/api/chalicelib/core/sourcemaps_parser.py +++ b/api/chalicelib/core/sourcemaps_parser.py @@ -16,13 +16,9 @@ def get_original_trace(key, positions): "key": key, "positions": positions, "padding": 5, - "bucket": config('sourcemaps_bucket'), - "S3_KEY": config('S3_KEY', default=config('AWS_ACCESS_KEY_ID')), - "S3_SECRET": config('S3_SECRET', default=config('AWS_SECRET_ACCESS_KEY')), - "region": config('sessions_region', default=config('AWS_DEFAULT_REGION')) + "bucket": config('sourcemaps_bucket') } - if len(config('S3_HOST', default="")) > 0: - payload["S3_HOST"] = config('S3_HOST') + try: r = requests.post(SMR_URL, json=payload, timeout=config("sourcemapTimeout", cast=int, default=5)) if r.status_code != 200: diff --git a/ee/utilities/server.js b/ee/utilities/server.js index fb787f496..64249ccbb 100644 --- a/ee/utilities/server.js +++ b/ee/utilities/server.js @@ -14,9 +14,10 @@ const HOST = process.env.LISTEN_HOST || '0.0.0.0'; const PORT = process.env.LISTEN_PORT || 9001; assert.ok(process.env.ASSIST_KEY, 'The "ASSIST_KEY" environment variable is required'); const P_KEY = process.env.ASSIST_KEY; +const PREFIX = process.env.PREFIX || process.env.prefix || `/assist` let debug = process.env.debug === "1"; -const PREFIX = process.env.PREFIX || process.env.prefix || `/assist` +const heapdump = process.env.heapdump === "1"; if (process.env.uws !== "true") { let wsapp = express(); @@ -28,7 +29,7 @@ if (process.env.uws !== "true") { res.end("ok!"); } ); - wsapp.use(`/heapdump/${P_KEY}`, dumps.router); + heapdump && wsapp.use(`/heapdump/${P_KEY}`, dumps.router); wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter); wsapp.enable('trust proxy'); const wsserver = wsapp.listen(PORT, HOST, () => { diff --git a/peers/server.js b/peers/server.js index cea4e94f2..0eb99a9de 100644 --- a/peers/server.js +++ b/peers/server.js @@ -4,16 +4,19 @@ const {peerRouter, peerConnection, peerDisconnect, peerError} = require('./serve const express = require('express'); const {ExpressPeerServer} = require('peer'); -const debug = process.env.debug === "1" || false; +const debug = process.env.debug === "1"; +const heapdump = process.env.heapdump === "1"; const HOST = process.env.LISTEN_HOST || '0.0.0.0'; const PORT = process.env.LISTEN_PORT || 9000; +assert.ok(process.env.ASSIST_KEY, 'The "ASSIST_KEY" environment variable is required'); +const P_KEY = process.env.ASSIST_KEY; const app = express(); app.use(request_logger("[app]")); -app.use(`/${process.env.S3_KEY}/assist`, peerRouter); -app.use(`/${process.env.S3_KEY}/heapdump`, dumps.router); +app.use(`/${P_KEY}/assist`, peerRouter); +heapdump && app.use(`/${P_KEY}/heapdump`, dumps.router); const server = app.listen(PORT, HOST, () => { console.log(`App listening on http://${HOST}:${PORT}`); diff --git a/sourcemap-reader/server.js b/sourcemap-reader/server.js index 4d14818c7..0cdeea0da 100644 --- a/sourcemap-reader/server.js +++ b/sourcemap-reader/server.js @@ -6,7 +6,8 @@ const {request_logger} = require("./utils/helper"); const HOST = process.env.SMR_HOST || '127.0.0.1'; const PORT = process.env.SMR_PORT || 9000; const PREFIX = process.env.PREFIX || process.env.prefix || `/sourcemaps` -const P_KEY = process.env.SMR_KEY || process.env.S3_KEY || 'smr'; +const P_KEY = process.env.SMR_KEY || 'smr'; +const heapdump = process.env.heapdump === "1"; const app = express(); app.use(request_logger("[SR]")); @@ -16,7 +17,7 @@ app.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`] } ); app.use(`${PREFIX}/${P_KEY}`, sourcemapsReaderServer); -app.use(`/heapdump/${P_KEY}`, dumps.router); +heapdump && app.use(`/heapdump/${P_KEY}`, dumps.router); const server = app.listen(PORT, HOST, () => { console.log(`SR App listening on http://${HOST}:${PORT}`); diff --git a/sourcemap-reader/servers/sourcemaps-handler.js b/sourcemap-reader/servers/sourcemaps-handler.js index 7baf62b66..96e9efe01 100644 --- a/sourcemap-reader/servers/sourcemaps-handler.js +++ b/sourcemap-reader/servers/sourcemaps-handler.js @@ -12,16 +12,8 @@ console.log(`>sourceMap initialised using ${process.env.MAPPING_WASM || '/mappin module.exports.sourcemapReader = async event => { let s3; - if (event.S3_HOST) { - s3 = new AWS.S3({ - endpoint: event.S3_HOST, - accessKeyId: event.S3_KEY, - secretAccessKey: event.S3_SECRET, - region: event.region, - s3ForcePathStyle: true, // needed with minio? - signatureVersion: 'v4' - }); - } else if (process.env.S3_HOST) { + + if (process.env.S3_HOST) { s3 = new AWS.S3({ endpoint: process.env.S3_HOST, accessKeyId: process.env.S3_KEY, diff --git a/utilities/server.js b/utilities/server.js index 54f94d2af..ac4aef006 100644 --- a/utilities/server.js +++ b/utilities/server.js @@ -5,6 +5,7 @@ const {request_logger} = require("./utils/helper"); const assert = require('assert').strict; const debug = process.env.debug === "1"; +const heapdump = process.env.heapdump === "1"; const HOST = process.env.LISTEN_HOST || '0.0.0.0'; const PORT = process.env.LISTEN_PORT || 9001; assert.ok(process.env.ASSIST_KEY, 'The "ASSIST_KEY" environment variable is required'); @@ -22,7 +23,7 @@ wsapp.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/ } ); wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter); -wsapp.use(`/heapdump/${P_KEY}`, dumps.router); +heapdump && wsapp.use(`/heapdump/${P_KEY}`, dumps.router); const wsserver = wsapp.listen(PORT, HOST, () => { console.log(`WS App listening on http://${HOST}:${PORT}`); From 1984115250381a063e91425fa05942818a6b0132 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 17:54:37 +0100 Subject: [PATCH 13/19] feat(sourcemaps-reader): dev script --- sourcemap-reader/run-dev.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 sourcemap-reader/run-dev.sh diff --git a/sourcemap-reader/run-dev.sh b/sourcemap-reader/run-dev.sh new file mode 100755 index 000000000..3c80807dd --- /dev/null +++ b/sourcemap-reader/run-dev.sh @@ -0,0 +1,3 @@ +#!/bin/zsh + +MAPPING_WASM=./mappings.wasm npm start \ No newline at end of file From 9a8f9bb24121a549a7cae10348e05c6023947e2a Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 18:10:41 +0100 Subject: [PATCH 14/19] feat(utilities): heapdump config --- utilities/utils/HeapSnapshot.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/utilities/utils/HeapSnapshot.js b/utilities/utils/HeapSnapshot.js index 818589fcc..6d266c22e 100644 --- a/utilities/utils/HeapSnapshot.js +++ b/utilities/utils/HeapSnapshot.js @@ -3,6 +3,7 @@ const v8 = require('v8'); const express = require('express'); const router = express.Router(); +const heapdump = process.env.heapdump === "1"; const location = '/tmp/'; let creationStatus = null; let fileName = null; @@ -60,9 +61,11 @@ function createNewHeapSnapshot(req, res) { res.end(JSON.stringify({path: location + fileName, 'done': creationStatus})); } -router.get(`/status`, getHeapSnapshotStatus); -router.get(`/new`, createNewHeapSnapshot); -router.get(`/download`, downloadHeapSnapshot); +if (heapdump) { + router.get(`/status`, getHeapSnapshotStatus); + router.get(`/new`, createNewHeapSnapshot); + router.get(`/download`, downloadHeapSnapshot); +} module.exports = {router} -console.log(`HeapSnapshot enabled. Send a request to "/heapdump/new" to generate a heapdump.`); \ No newline at end of file +heapdump && console.log(`HeapSnapshot enabled. Send a request to "/heapdump/new" to generate a heapdump.`); \ No newline at end of file From d8c5e769d53c2ed8500bbbf0224d554b2b3b0b8f Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 18:16:42 +0100 Subject: [PATCH 15/19] feat(utilities): PREFIX config feat(sourcemaps-reader): PREFIX config --- ee/utilities/server.js | 2 +- sourcemap-reader/server.js | 8 ++++---- utilities/server.js | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ee/utilities/server.js b/ee/utilities/server.js index 64249ccbb..3a7531cf2 100644 --- a/ee/utilities/server.js +++ b/ee/utilities/server.js @@ -29,7 +29,7 @@ if (process.env.uws !== "true") { res.end("ok!"); } ); - heapdump && wsapp.use(`/heapdump/${P_KEY}`, dumps.router); + heapdump && wsapp.use(`${PREFIX}/heapdump/${P_KEY}`, dumps.router); wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter); wsapp.enable('trust proxy'); const wsserver = wsapp.listen(PORT, HOST, () => { diff --git a/sourcemap-reader/server.js b/sourcemap-reader/server.js index 0cdeea0da..1afa49e95 100644 --- a/sourcemap-reader/server.js +++ b/sourcemap-reader/server.js @@ -5,19 +5,19 @@ const {request_logger} = require("./utils/helper"); const HOST = process.env.SMR_HOST || '127.0.0.1'; const PORT = process.env.SMR_PORT || 9000; -const PREFIX = process.env.PREFIX || process.env.prefix || `/sourcemaps` +const PREFIX = process.env.PREFIX || process.env.prefix || '' const P_KEY = process.env.SMR_KEY || 'smr'; const heapdump = process.env.heapdump === "1"; const app = express(); app.use(request_logger("[SR]")); -app.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { +app.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { res.statusCode = 200; res.end("ok!"); } ); -app.use(`${PREFIX}/${P_KEY}`, sourcemapsReaderServer); -heapdump && app.use(`/heapdump/${P_KEY}`, dumps.router); +app.use(`${PREFIX}/${P_KEY}/sourcemaps`, sourcemapsReaderServer); +heapdump && app.use(`${PREFIX}/heapdump/${P_KEY}`, dumps.router); const server = app.listen(PORT, HOST, () => { console.log(`SR App listening on http://${HOST}:${PORT}`); diff --git a/utilities/server.js b/utilities/server.js index ac4aef006..b2eca4335 100644 --- a/utilities/server.js +++ b/utilities/server.js @@ -23,7 +23,7 @@ wsapp.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/ } ); wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter); -heapdump && wsapp.use(`/heapdump/${P_KEY}`, dumps.router); +heapdump && wsapp.use(`${PREFIX}/heapdump/${P_KEY}`, dumps.router); const wsserver = wsapp.listen(PORT, HOST, () => { console.log(`WS App listening on http://${HOST}:${PORT}`); From fb16b998cbc8549edaea08751f9ada8888c79e93 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 18:21:00 +0100 Subject: [PATCH 16/19] feat(utilities): PREFIX config feat(sourcemaps-reader): PREFIX config --- sourcemap-reader/server.js | 2 +- utilities/server.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sourcemap-reader/server.js b/sourcemap-reader/server.js index 1afa49e95..2d504a76f 100644 --- a/sourcemap-reader/server.js +++ b/sourcemap-reader/server.js @@ -17,7 +17,7 @@ app.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (re } ); app.use(`${PREFIX}/${P_KEY}/sourcemaps`, sourcemapsReaderServer); -heapdump && app.use(`${PREFIX}/heapdump/${P_KEY}`, dumps.router); +heapdump && app.use(`${PREFIX}/${P_KEY}/heapdump`, dumps.router); const server = app.listen(PORT, HOST, () => { console.log(`SR App listening on http://${HOST}:${PORT}`); diff --git a/utilities/server.js b/utilities/server.js index b2eca4335..0b300f47b 100644 --- a/utilities/server.js +++ b/utilities/server.js @@ -23,7 +23,7 @@ wsapp.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/ } ); wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter); -heapdump && wsapp.use(`${PREFIX}/heapdump/${P_KEY}`, dumps.router); +heapdump && wsapp.use(`${PREFIX}/${P_KEY}/heapdump`, dumps.router); const wsserver = wsapp.listen(PORT, HOST, () => { console.log(`WS App listening on http://${HOST}:${PORT}`); From bf92122944655e915d6e8a81a6838f502a056727 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 18:22:37 +0100 Subject: [PATCH 17/19] feat(chalice): changed sourcemaps endpoint --- api/env.default | 2 +- ee/api/env.default | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/env.default b/api/env.default index b40d2918b..c4388c7d5 100644 --- a/api/env.default +++ b/api/env.default @@ -45,7 +45,7 @@ sentryURL= sessions_bucket=mobs sessions_region=us-east-1 sourcemaps_bucket=sourcemaps -sourcemaps_reader=http://127.0.0.1:9000/sourcemaps/%s +sourcemaps_reader=http://127.0.0.1:9000/sourcemaps/%s/sourcemaps stage=default-foss version_number=1.4.0 FS_DIR=/mnt/efs \ No newline at end of file diff --git a/ee/api/env.default b/ee/api/env.default index 2341dfc9c..9d6fe66d7 100644 --- a/ee/api/env.default +++ b/ee/api/env.default @@ -56,7 +56,7 @@ sentryURL= sessions_bucket=mobs sessions_region=us-east-1 sourcemaps_bucket=sourcemaps -sourcemaps_reader=http://127.0.0.1:9000/sourcemaps/%s +sourcemaps_reader=http://127.0.0.1:9000/sourcemaps/%s/sourcemaps stage=default-ee version_number=1.0.0 FS_DIR=/mnt/efs From d955362330cd8e14bdecf2a9471f9e4cc3190a46 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 18:25:23 +0100 Subject: [PATCH 18/19] feat(assist): changed PREFIX --- ee/utilities/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ee/utilities/server.js b/ee/utilities/server.js index 3a7531cf2..48799e279 100644 --- a/ee/utilities/server.js +++ b/ee/utilities/server.js @@ -29,7 +29,7 @@ if (process.env.uws !== "true") { res.end("ok!"); } ); - heapdump && wsapp.use(`${PREFIX}/heapdump/${P_KEY}`, dumps.router); + heapdump && wsapp.use(`${PREFIX}/${P_KEY}/heapdump`, dumps.router); wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter); wsapp.enable('trust proxy'); const wsserver = wsapp.listen(PORT, HOST, () => { From eadc5aced81eb782699b9a7c4a9839cebb47c40d Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 19 Sep 2022 18:36:35 +0100 Subject: [PATCH 19/19] feat(sourcemaps-reader): health --- sourcemap-reader/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sourcemap-reader/server.js b/sourcemap-reader/server.js index 2d504a76f..b58128992 100644 --- a/sourcemap-reader/server.js +++ b/sourcemap-reader/server.js @@ -11,7 +11,7 @@ const heapdump = process.env.heapdump === "1"; const app = express(); app.use(request_logger("[SR]")); -app.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { +app.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => { res.statusCode = 200; res.end("ok!"); }