From acef9e7d8d7f71cbff6912e210c4165acfc3eaa7 Mon Sep 17 00:00:00 2001 From: Christopher Hoskin Date: Tue, 16 Mar 2021 11:47:18 +0000 Subject: [PATCH] Add basic README --- libraries/metrics/README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 libraries/metrics/README.md diff --git a/libraries/metrics/README.md b/libraries/metrics/README.md new file mode 100644 index 0000000000..6f01e85ff7 --- /dev/null +++ b/libraries/metrics/README.md @@ -0,0 +1,30 @@ +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('logger-sharelatex') +... +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 \ No newline at end of file