mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-29 10:53:35 -05:00
e87df4a791
Simpler Typescript setup in the backend GitOrigin-RevId: 3a90f26a5ac8029d14203faa98008375ce933e7d |
||
---|---|---|
.. | ||
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