Merge pull request #6926 from overleaf/jpa-clsi-bump-logger-metrics

[clsi] upgrade logger and metrics module

GitOrigin-RevId: 85c346b5eed683672a77d86d6a434dc313b7824b
This commit is contained in:
Jakob Ackermann
2022-03-01 15:09:36 +00:00
committed by Copybot
parent b7b4cfbe7a
commit 9aeb753199
29 changed files with 61 additions and 92 deletions
+23 -15
View File
@@ -1,6 +1,5 @@
const Stream = require('stream')
const bunyan = require('bunyan')
const yn = require('yn')
const GCPManager = require('./gcp-manager')
const SentryManager = require('./sentry-manager')
const Serializers = require('./serializers')
@@ -74,20 +73,29 @@ const LoggingManager = {
},
_getOutputStreamConfig() {
const gcpEnabled = yn(process.env.GCP_LOGGING)
if (gcpEnabled) {
const stream = new Stream.Writable({
objectMode: true,
write(entry, encoding, callback) {
const gcpEntry = GCPManager.convertLogEntry(entry)
// eslint-disable-next-line no-console
console.log(JSON.stringify(gcpEntry, bunyan.safeCycles()))
setImmediate(callback)
},
})
return { level: this.defaultLevel, type: 'raw', stream }
} else {
return { level: this.defaultLevel, stream: process.stdout }
switch (process.env.LOGGING_FORMAT) {
case 'gke': {
const stream = new Stream.Writable({
objectMode: true,
write(entry, encoding, callback) {
const gcpEntry = GCPManager.convertLogEntry(entry)
// eslint-disable-next-line no-console
console.log(JSON.stringify(gcpEntry, bunyan.safeCycles()))
setImmediate(callback)
},
})
return { level: this.defaultLevel, type: 'raw', stream }
}
case 'gce': {
const { LoggingBunyan } = require('@google-cloud/logging-bunyan')
return new LoggingBunyan({
logName: this.loggerName,
serviceContext: { service: this.loggerName },
}).stream(this.defaultLevel)
}
default: {
return { level: this.defaultLevel, stream: process.stdout }
}
}
},
+2 -2
View File
@@ -17,11 +17,11 @@
"test:ci": "npm run test"
},
"dependencies": {
"@google-cloud/logging-bunyan": "^3.2.0",
"@overleaf/o-error": "^3.4.0",
"@sentry/node": "^6.13.2",
"bunyan": "^1.8.14",
"node-fetch": "^2.6.7",
"yn": "^4.0.0"
"node-fetch": "^2.6.7"
},
"devDependencies": {
"chai": "^4.3.6",
+8 -47
View File
@@ -79,11 +79,11 @@
"version": "3.1.1",
"license": "AGPL-3.0-only",
"dependencies": {
"@google-cloud/logging-bunyan": "^3.2.0",
"@overleaf/o-error": "^3.4.0",
"@sentry/node": "^6.13.2",
"bunyan": "^1.8.14",
"node-fetch": "^2.6.7",
"yn": "^4.0.0"
"node-fetch": "^2.6.7"
},
"devDependencies": {
"chai": "^4.3.6",
@@ -41326,7 +41326,8 @@
"services/clsi": {
"name": "@overleaf/clsi",
"dependencies": {
"@overleaf/metrics": "^3.5.1",
"@overleaf/logger": "^3.1.0",
"@overleaf/metrics": "^4.0.0",
"@overleaf/o-error": "^3.4.0",
"@overleaf/settings": "^3.0.0",
"async": "3.2.0",
@@ -41338,7 +41339,6 @@
"fs-extra": "^10.0.0",
"lockfile": "^1.0.4",
"lodash": "^4.17.21",
"logger-sharelatex": "^2.2.0",
"p-limit": "^3.1.0",
"pdfjs-dist": "~2.7.570",
"request": "^2.88.2",
@@ -41386,19 +41386,6 @@
"node": ">= 0.6"
}
},
"services/clsi/node_modules/@overleaf/metrics": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/@overleaf/metrics/-/metrics-3.5.2.tgz",
"integrity": "sha512-rzYUb9JqyHcjU5tQfPF8AyDsJ7SbTFn71iHj98oRXsNCk8A6QwLjCI+0LUMpaUdSKZINKbujtuHynqzUawNklQ==",
"dependencies": {
"@google-cloud/debug-agent": "^5.1.2",
"@google-cloud/profiler": "^4.1.3",
"@google-cloud/trace-agent": "^5.1.1",
"compression": "^1.7.4",
"prom-client": "^11.1.3",
"yn": "^3.1.1"
}
},
"services/clsi/node_modules/diff": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -41439,14 +41426,6 @@
"node": ">=8"
}
},
"services/clsi/node_modules/yn": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
"engines": {
"node": ">=6"
}
},
"services/contacts": {
"name": "@overleaf/contacts",
"dependencies": {
@@ -48946,7 +48925,8 @@
"@overleaf/clsi": {
"version": "file:services/clsi",
"requires": {
"@overleaf/metrics": "^3.5.1",
"@overleaf/logger": "^3.1.0",
"@overleaf/metrics": "^4.0.0",
"@overleaf/o-error": "^3.4.0",
"@overleaf/settings": "^3.0.0",
"async": "3.2.0",
@@ -48960,7 +48940,6 @@
"fs-extra": "^10.0.0",
"lockfile": "^1.0.4",
"lodash": "^4.17.21",
"logger-sharelatex": "^2.2.0",
"mocha": "^8.4.0",
"nodemon": "^2.0.7",
"p-limit": "^3.1.0",
@@ -48974,19 +48953,6 @@
"workerpool": "^6.1.5"
},
"dependencies": {
"@overleaf/metrics": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/@overleaf/metrics/-/metrics-3.5.2.tgz",
"integrity": "sha512-rzYUb9JqyHcjU5tQfPF8AyDsJ7SbTFn71iHj98oRXsNCk8A6QwLjCI+0LUMpaUdSKZINKbujtuHynqzUawNklQ==",
"requires": {
"@google-cloud/debug-agent": "^5.1.2",
"@google-cloud/profiler": "^4.1.3",
"@google-cloud/trace-agent": "^5.1.1",
"compression": "^1.7.4",
"prom-client": "^11.1.3",
"yn": "^3.1.1"
}
},
"diff": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
@@ -49016,11 +48982,6 @@
"requires": {
"has-flag": "^4.0.0"
}
},
"yn": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="
}
}
},
@@ -49706,6 +49667,7 @@
"@overleaf/logger": {
"version": "file:libraries/logger",
"requires": {
"@google-cloud/logging-bunyan": "^3.2.0",
"@overleaf/o-error": "^3.4.0",
"@sentry/node": "^6.13.2",
"bunyan": "^1.8.14",
@@ -49714,8 +49676,7 @@
"node-fetch": "^2.6.7",
"sandboxed-module": "^2.0.4",
"sinon": "^9.2.4",
"sinon-chai": "^3.7.0",
"yn": "^4.0.0"
"sinon-chai": "^3.7.0"
}
},
"@overleaf/metrics": {
+1 -1
View File
@@ -11,7 +11,7 @@ Metrics.initialize('clsi')
const CompileController = require('./app/js/CompileController')
const ContentController = require('./app/js/ContentController')
const Settings = require('@overleaf/settings')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
logger.initialize('clsi')
if ((Settings.sentry != null ? Settings.sentry.dsn : undefined) != null) {
logger.initializeErrorReporting(Settings.sentry.dsn)
+1 -1
View File
@@ -7,7 +7,7 @@
*/
let commandRunnerPath
const Settings = require('@overleaf/settings')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
if ((Settings.clsi != null ? Settings.clsi.dockerRunner : undefined) === true) {
commandRunnerPath = './DockerRunner'
+1 -1
View File
@@ -17,7 +17,7 @@ const CompileManager = require('./CompileManager')
const Settings = require('@overleaf/settings')
const Metrics = require('./Metrics')
const ProjectPersistenceManager = require('./ProjectPersistenceManager')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Errors = require('./Errors')
function isImageNameAllowed(imageName) {
+1 -1
View File
@@ -4,7 +4,7 @@ const OutputFileFinder = require('./OutputFileFinder')
const OutputCacheManager = require('./OutputCacheManager')
const Settings = require('@overleaf/settings')
const Path = require('path')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Metrics = require('./Metrics')
const childProcess = require('child_process')
const DraftModeManager = require('./DraftModeManager')
+1 -1
View File
@@ -1,4 +1,4 @@
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Metrics = require('./Metrics')
const os = require('os')
+1 -1
View File
@@ -7,7 +7,7 @@
*/
const async = require('async')
const Settings = require('@overleaf/settings')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const queue = async.queue(
(task, cb) => task(cb),
Settings.parallelSqlQueryLimit
+1 -1
View File
@@ -8,7 +8,7 @@
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
let LockManager
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const LockState = {} // locks for docker container operations, by container name
+1 -1
View File
@@ -1,5 +1,5 @@
const Settings = require('@overleaf/settings')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Docker = require('dockerode')
const dockerode = new Docker()
const crypto = require('crypto')
+1 -1
View File
@@ -12,7 +12,7 @@
*/
let DraftModeManager
const fs = require('fs')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
module.exports = DraftModeManager = {
injectDraftMode(filename, callback) {
+1 -1
View File
@@ -15,7 +15,7 @@
let LatexRunner
const Path = require('path')
const Settings = require('@overleaf/settings')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Metrics = require('./Metrics')
const CommandRunner = require('./CommandRunner')
const fs = require('fs')
+1 -1
View File
@@ -15,7 +15,7 @@
let CommandRunner
const { spawn } = require('child_process')
const _ = require('lodash')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
logger.info('using standard command runner')
+1 -1
View File
@@ -12,7 +12,7 @@
*/
let LockManager
const Settings = require('@overleaf/settings')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Lockfile = require('lockfile') // from https://github.com/npm/lockfile
const Errors = require('./Errors')
const fs = require('fs')
+1 -1
View File
@@ -16,7 +16,7 @@ const async = require('async')
const fs = require('fs')
const fse = require('fs-extra')
const Path = require('path')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const _ = require('lodash')
const Settings = require('@overleaf/settings')
const crypto = require('crypto')
+1 -1
View File
@@ -2,7 +2,7 @@ let OutputFileFinder
const Path = require('path')
const _ = require('lodash')
const { spawn } = require('child_process')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
module.exports = OutputFileFinder = {
findOutputFiles(resources, directory, callback) {
+1 -1
View File
@@ -16,7 +16,7 @@ let OutputFileOptimiser
const fs = require('fs')
const Path = require('path')
const { spawn } = require('child_process')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Metrics = require('./Metrics')
const _ = require('lodash')
@@ -14,7 +14,7 @@ let ProjectPersistenceManager
const UrlCache = require('./UrlCache')
const CompileManager = require('./CompileManager')
const async = require('async')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const oneDay = 24 * 60 * 60 * 1000
const Settings = require('@overleaf/settings')
const diskusage = require('diskusage')
+1 -1
View File
@@ -1,6 +1,6 @@
const Path = require('path')
const fs = require('fs')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Errors = require('./Errors')
const SafeReader = require('./SafeReader')
+1 -1
View File
@@ -21,7 +21,7 @@ const async = require('async')
const OutputFileFinder = require('./OutputFileFinder')
const ResourceStateManager = require('./ResourceStateManager')
const Metrics = require('./Metrics')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const settings = require('@overleaf/settings')
const parallelFileDownloads = settings.parallelFileDownloads || 1
+1 -1
View File
@@ -13,7 +13,7 @@
*/
let SafeReader
const fs = require('fs')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
module.exports = SafeReader = {
// safely read up to size bytes from a file and return result as a
@@ -18,7 +18,7 @@ let ForbidSymlinks
const Path = require('path')
const fs = require('fs')
const Settings = require('@overleaf/settings')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
module.exports = ForbidSymlinks = function (staticFn, root, options) {
const expressStatic = staticFn(root, options)
+1 -1
View File
@@ -15,7 +15,7 @@ const fs = require('fs')
const Path = require('path')
const ResourceWriter = require('./ResourceWriter')
const SafeReader = require('./SafeReader')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
// for \tikzexternalize or pstool to work the main file needs to match the
// jobname. Since we set the -jobname to output, we have to create a
+1 -1
View File
@@ -14,7 +14,7 @@
let UrlFetcher
const request = require('request').defaults({ jar: false })
const fs = require('fs')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const settings = require('@overleaf/settings')
const async = require('async')
const { URL } = require('url')
+2 -2
View File
@@ -16,7 +16,8 @@
"lint:fix": "eslint --fix ."
},
"dependencies": {
"@overleaf/metrics": "^3.5.1",
"@overleaf/logger": "^3.1.0",
"@overleaf/metrics": "^4.0.0",
"@overleaf/o-error": "^3.4.0",
"@overleaf/settings": "^3.0.0",
"async": "3.2.0",
@@ -28,7 +29,6 @@
"fs-extra": "^10.0.0",
"lockfile": "^1.0.4",
"lodash": "^4.17.21",
"logger-sharelatex": "^2.2.0",
"p-limit": "^3.1.0",
"pdfjs-dist": "~2.7.570",
"request": "^2.88.2",
@@ -19,7 +19,7 @@ const fs = require('fs')
const fsExtra = require('fs-extra')
const ChildProcess = require('child_process')
const ClsiApp = require('./helpers/ClsiApp')
const logger = require('logger-sharelatex')
const logger = require('@overleaf/logger')
const Path = require('path')
const fixturePath = path => {
if (path.slice(0, 3) === 'tmp') {
@@ -10,8 +10,8 @@
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
const app = require('../../../../app')
require('logger-sharelatex').logger.level('info')
const logger = require('logger-sharelatex')
require('@overleaf/logger').logger.level('info')
const logger = require('@overleaf/logger')
const Settings = require('@overleaf/settings')
module.exports = {
+1 -1
View File
@@ -9,7 +9,7 @@ chai.use(sinonChai)
// Global SandboxedModule settings
SandboxedModule.configure({
requires: {
'logger-sharelatex': {
'@overleaf/logger': {
debug() {},
log() {},
info() {},