summary refs log tree commit diff
diff options
context:
space:
mode:
authorNick Mills-Barrett <nick@beeper.com>2022-03-21 11:52:10 +0000
committerGitHub <noreply@github.com>2022-03-21 11:52:10 +0000
commit1530cef19244e21d8b160bee2d925dcabbc0c4be (patch)
tree702044cbdb4ea8704c61f7c4d0034f077f981320
parentReturn a 404 from `/state` for an outlier (#12087) (diff)
downloadsynapse-1530cef19244e21d8b160bee2d925dcabbc0c4be.tar.xz
Make it possible to enable compression for the metrics HTTP resource (#12258)
* Make it possible to enable compression for the metrics HTTP resource

This can provide significant bandwidth savings pulling metrics from
synapse instances.

* Add changelog file.

* Fix type hint
-rw-r--r--changelog.d/12258.misc1
-rw-r--r--synapse/app/homeserver.py5
2 files changed, 5 insertions, 1 deletions
diff --git a/changelog.d/12258.misc b/changelog.d/12258.misc
new file mode 100644

index 0000000000..80024c8e91 --- /dev/null +++ b/changelog.d/12258.misc
@@ -0,0 +1 @@ +Compress metrics HTTP resource when enabled. Contributed by Nick @ Beeper. diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py
index e4dc04c0b4..ad2b7c9515 100644 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py
@@ -261,7 +261,10 @@ class SynapseHomeServer(HomeServer): resources[SERVER_KEY_V2_PREFIX] = KeyApiV2Resource(self) if name == "metrics" and self.config.metrics.enable_metrics: - resources[METRICS_PREFIX] = MetricsResource(RegistryProxy) + metrics_resource: Resource = MetricsResource(RegistryProxy) + if compress: + metrics_resource = gz_wrap(metrics_resource) + resources[METRICS_PREFIX] = metrics_resource if name == "replication": resources[REPLICATION_PREFIX] = ReplicationRestResource(self)