overleaf/libraries/metrics/README.md
Brian Gough d9d65ac31c Merge pull request #5246 from overleaf/bg-upgrade-logger-in-all-libraries
upgrade logger in libraries

GitOrigin-RevId: 5968f5abc5f77061cd90b5ebbccf86349619c4a7
2021-10-29 08:03:14 +00:00

32 lines
1.1 KiB
Markdown

# overleaf/metrics-module
Wrappers the [prom-client](https://github.com/siimon/prom-client) npm module to provide [Prometheus](https://prometheus.io/) metrics at `/metrics`.
Use:
```
const metrics = require('@overleaf/metrics')
metrics.initialize('myapp')
const express = require('express')
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.
- `ENABLE_TRACE_AGENT` - enables @google-cloud/trace-agent on Google Cloud
- `ENABLE_DEBUG_AGENT` - enables @google-cloud/debug-agent on Google Cloud
- `ENABLE_PROFILE_AGENT` - enables @google-cloud/profiler on Google Cloud
- `METRICS_COMPRESSION_LEVEL` - sets the [compression level](https://www.npmjs.com/package/compression#level) for `/metrics`
- `STACKDRIVER_LOGGING` - toggles the request logging format
- `UV_THREADPOOL_SIZE` - sets the libuv [thread pool](http://docs.libuv.org/en/v1.x/threadpool.html) size