mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-14 20:40:17 -05:00
7f48c67512
* Add `unicorn/prefer-node-protocol` * Fix `unicorn/prefer-node-protocol` ESLint errors * Run `npm run format:fix` * Add sandboxed-module sourceTransformers in mocha setups Fix `no such file or directory, open 'node:fs'` in `sandboxed-module` * Remove `node:` in the SandboxedModule requires * Fix new linting errors with `node:` GitOrigin-RevId: 68f6e31e2191fcff4cb8058dd0a6914c14f59926 |
||
---|---|---|
.. | ||
test | ||
.dockerignore | ||
.gitignore | ||
.npmignore | ||
.nvmrc | ||
buildscript.txt | ||
CHANGELOG.md | ||
event_loop.js | ||
http.js | ||
index.js | ||
initialize.js | ||
leaked_sockets.js | ||
LICENSE | ||
memory.js | ||
mongodb.js | ||
open_sockets.js | ||
package.json | ||
prom_wrapper.js | ||
README.md | ||
tsconfig.json | ||
uv_threadpool_size.js |
overleaf/metrics-module
Wrappers the prom-client npm module to provide Prometheus metrics at /metrics
.
Use:
// Metrics must be initialized before importing anything else
require('@overleaf/metrics/initialize')
const express = require('express')
const metrics = require('@overleaf/metrics')
const app = express()
metrics.injectMetricsRoute(app)
Request logging can be enabled:
const logger = require('@overleaf/logger')
...
app.use(metrics.http.monitor(logger))
The metrics module can be configured through the following environment variables:
DEBUG_METRICS
- enables display of debugging messages to the console.GCP_OPENTELEMETRY
- enables OpenTelemetry tracing for GCPJAEGER_OPENTELEMETRY
- enables OpenTelemetry tracing for Jaeger (in the dev environment)METRICS_APP_NAME
- the app label for metrics and spansMETRICS_COMPRESSION_LEVEL
- sets the compression level for/metrics
STACKDRIVER_LOGGING
- toggles the request logging formatUV_THREADPOOL_SIZE
- sets the libuv thread pool size