log clsi concurrency (#19651)

GitOrigin-RevId: 504f6f9cc3d4b7386dbcde86f76c1cf3a13e944f
This commit is contained in:
Liangjun Song 2024-07-29 15:07:04 +01:00 committed by Copybot
parent 77a78a4458
commit 01b7896717

View file

@ -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')
}
}
}