diff --git a/debugger/dap_debug_service.ts b/debugger/dap_debug_service.ts index 2043dd138e..0486814ff3 100644 --- a/debugger/dap_debug_service.ts +++ b/debugger/dap_debug_service.ts @@ -1069,11 +1069,14 @@ const server = Bun.serve({ // Handle WebSocket upgrade with path-based routing if (server.upgrade(req, { data: { path } })) { + logger.info(`WS upgrade: ${path}`) return undefined as unknown as Response } + logger.info(`HTTP ${req.method} ${path}`) + // Health check endpoint - if (path === '/health') { + if (path === '/health' || path === '/ws_debug/health') { return new Response(JSON.stringify({ status: 'ok', service: 'debugger', @@ -1102,6 +1105,7 @@ const server = Bun.serve({ // Handle ping test — respond and close immediately if (path === '/ping') { + logger.info(`WS ping test`) ws.send(JSON.stringify({ type: 'pong', service: 'debugger' })) ws.close() return diff --git a/lsp/pyls_launcher.py b/lsp/pyls_launcher.py index ae1640e32c..7763cbaa3b 100644 --- a/lsp/pyls_launcher.py +++ b/lsp/pyls_launcher.py @@ -96,6 +96,7 @@ class HealthHandler(web.RequestHandler): self.set_header("Content-Type", "application/json") def get(self): + log.info("HTTP GET %s", self.request.uri) self.write(json.dumps({"status": "ok", "service": "lsp"})) def options(self): @@ -104,6 +105,7 @@ class HealthHandler(web.RequestHandler): class PingHandler(websocket.WebSocketHandler): def open(self): + log.info("WS ping from %s", self.request.remote_ip) self.write_message(json.dumps({"type": "pong", "service": "lsp"})) self.close() diff --git a/multiplayer/server.mjs b/multiplayer/server.mjs index 90810fb6f6..f5431822fc 100644 --- a/multiplayer/server.mjs +++ b/multiplayer/server.mjs @@ -122,6 +122,7 @@ const setupWSConnection = (conn, req, docName) => { } const server = http.createServer((req, res) => { + console.log(`[${new Date().toISOString()}] HTTP ${req.method} ${req.url} from=${req.socket.remoteAddress}`) if (req.url === '/' || req.url === '/health' || req.url === '/ws_mp/health') { res.writeHead(200, { 'Content-Type': 'application/json', @@ -144,15 +145,16 @@ wss.on('connection', (ws, req) => { docName = docName.slice('ws_mp/'.length) } + const clientIp = req.socket.remoteAddress + // Handle ping test — respond and close immediately if (docName === '__ping__') { + console.log(`[${new Date().toISOString()}] WS ping from=${clientIp}`) ws.send(JSON.stringify({ type: 'pong', service: 'multiplayer' })) ws.close() return } - const clientIp = req.socket.remoteAddress - console.log(`[${new Date().toISOString()}] CONNECT: doc="${docName}" from=${clientIp}`) ws.on('close', () => {