From 0719638cc4f20f1a0c6559f70934b47cfe9202cb Mon Sep 17 00:00:00 2001 From: Liangjun Song <146005915+adai26@users.noreply.github.com> Date: Mon, 29 Jul 2024 15:07:04 +0100 Subject: [PATCH] log clsi concurrency (#19651) GitOrigin-RevId: 504f6f9cc3d4b7386dbcde86f76c1cf3a13e944f --- services/clsi/app/js/LockManager.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/clsi/app/js/LockManager.js b/services/clsi/app/js/LockManager.js index 0ecd04356e..21abb43a2a 100644 --- a/services/clsi/app/js/LockManager.js +++ b/services/clsi/app/js/LockManager.js @@ -1,6 +1,7 @@ const logger = require('@overleaf/logger') const Errors = require('./Errors') const RequestParser = require('./RequestParser') +const Metrics = require('@overleaf/metrics') // The lock timeout should be higher than the maximum end-to-end compile time. // Here, we use the maximum compile timeout plus 2 minutes. @@ -19,6 +20,8 @@ function acquire(key) { } } + Metrics.gauge('concurrent_compile_requests', LOCKS.size) + const lock = new Lock(key) LOCKS.set(key, lock) return lock @@ -39,6 +42,9 @@ class Lock { if (!lockWasActive) { logger.error({ key: this.key }, 'Lock was released twice') } + if (this.isExpired()) { + Metrics.inc('compile_lock_expired_before_release') + } } }