7b472bcd80
[web] collect metrics for split test system GitOrigin-RevId: 6440b9b9d9900cb8eac9a82ab2f62ae93d7e502a
33 lines
674 B
JavaScript
33 lines
674 B
JavaScript
const Metrics = require('@overleaf/metrics')
|
|
const SplitTestManager = require('./SplitTestManager')
|
|
const { CacheLoader } = require('cache-flow')
|
|
|
|
class SplitTestCache extends CacheLoader {
|
|
constructor() {
|
|
super('split-test', {
|
|
expirationTime: 60, // 1min in seconds
|
|
})
|
|
}
|
|
|
|
async load(name) {
|
|
Metrics.inc('split_test_get_split_test_from_mongo', 1, {
|
|
path: name,
|
|
})
|
|
const splitTest = await SplitTestManager.getSplitTest({
|
|
name,
|
|
archived: { $ne: true },
|
|
})
|
|
return splitTest?.toObject()
|
|
}
|
|
|
|
serialize(value) {
|
|
return value
|
|
}
|
|
|
|
deserialize(value) {
|
|
return value
|
|
}
|
|
}
|
|
|
|
module.exports = new SplitTestCache()
|