diff --git a/libraries/metrics/index.js b/libraries/metrics/index.js index 54950e0008..25a739d6f7 100644 --- a/libraries/metrics/index.js +++ b/libraries/metrics/index.js @@ -8,6 +8,7 @@ let Metrics; console.log("using prometheus"); +const ExpressCompression = require('compression'); const prom = require('./prom_wrapper'); const { @@ -75,7 +76,9 @@ module.exports = (Metrics = { }, injectMetricsRoute(app) { - return app.get('/metrics', function(req, res) { + return app.get('/metrics', ExpressCompression({ + level: parseInt(process.env.METRICS_COMPRESSION_LEVEL || '1', 10) + }), function (req, res) { res.set('Content-Type', prom.registry.contentType); return res.end(prom.registry.metrics()); }); diff --git a/libraries/metrics/package.json b/libraries/metrics/package.json index b22b6996cc..6ae76b9b4a 100644 --- a/libraries/metrics/package.json +++ b/libraries/metrics/package.json @@ -10,6 +10,7 @@ "@google-cloud/debug-agent": "^3.0.0", "@google-cloud/profiler": "^0.2.3", "@google-cloud/trace-agent": "^3.2.0", + "compression": "^1.7.4", "prom-client": "^11.1.3", "underscore": "~1.6.0", "yn": "^3.1.1"