Răsfoiți Sursa

[misc] enable compression for the /metrics route

Jakob Ackermann 6 ani în urmă
părinte
comite
71ba4150fe
2 a modificat fișierele cu 5 adăugiri și 1 ștergeri
  1. 4 1
      libraries/metrics/index.js
  2. 1 0
      libraries/metrics/package.json

+ 4 - 1
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());
 		});

+ 1 - 0
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"