From 75de851437097b245bfc787940c4899d070e2ab2 Mon Sep 17 00:00:00 2001 From: Cyril Galibern Date: Mon, 2 Aug 2021 09:28:34 +0200 Subject: [PATCH] [h2_router] Update stats sessions alive progress when not served by handlers This patch will give more accurate information about alive session progress --- opensvc/daemon/listener.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/opensvc/daemon/listener.py b/opensvc/daemon/listener.py index 97565794d..b74a4b6ee 100644 --- a/opensvc/daemon/listener.py +++ b/opensvc/daemon/listener.py @@ -1174,13 +1174,18 @@ def h2_router(self, stream_id): query = parse_qs(parsed_path.query) method = headers.get(":method", "GET") accept = headers.get("accept", "").split(",") + sending_progress = "sending %s /%s result" % (method, path) if path == "favicon.ico": + self.parent.stats.sessions.alive[self.sid].progress = sending_progress return 200, "image/x-icon", ICON elif path in ("", "index.html"): + self.parent.stats.sessions.alive[self.sid].progress = sending_progress return self.index() elif path == "index.js": + self.parent.stats.sessions.alive[self.sid].progress = sending_progress return self.index_js() elif "text/html" in accept: + self.parent.stats.sessions.alive[self.sid].progress = sending_progress return self.index() multiplexed = stream["request_headers"].get(Headers.multiplexed) is not None node = stream["request_headers"].get(Headers.node) @@ -1201,6 +1206,7 @@ def h2_router(self, stream_id): handler = self.get_handler(method, data["action"]) except ex.HTTP as exc: result = {"status": exc.status, "error": exc.msg} + self.parent.stats.sessions.alive[self.sid].progress = sending_progress return exc.status, content_type, result try: @@ -1211,6 +1217,7 @@ def h2_router(self, stream_id): if handler.access: status = 401 result = {"status": status, "error": "Not Authorized"} + self.parent.stats.sessions.alive[self.sid].progress = sending_progress return status, content_type, result try: