mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-22 01:25:44 +03:00
6a78ede569
The existing implementation of the `python_twisted_reactor_tick_time` metric is pretty useless, because it *only* measures the time taken to execute timed calls and callbacks from threads. That neglects everything that happens off the back of I/O, which is obviously quite a lot for us. To improve this, I've hooked into a different place in the reactor - in particular, where it calls `epoll`. That call is the only place it should wait for something to happen - the rest of the loop *should* be quick. I've also removed `python_twisted_reactor_pending_calls`, because I don't believe anyone ever looks at it, and it's a nuisance to populate. |
||
---|---|---|
.. | ||
consoles | ||
README.md | ||
synapse-v1.rules | ||
synapse-v2.rules |
This directory contains some sample monitoring config for using the 'Prometheus' monitoring server against synapse.
To use it, first install prometheus by following the instructions at
for Prometheus v1
Add a new job to the main prometheus.conf file:
job: {
name: "synapse"
target_group: {
target: "http://SERVER.LOCATION.HERE:PORT/_synapse/metrics"
}
}
for Prometheus v2
Add a new job to the main prometheus.yml file:
- job_name: "synapse"
metrics_path: "/_synapse/metrics"
# when endpoint uses https:
scheme: "https"
static_configs:
- targets: ["my.server.here:port"]
An example of a Prometheus configuration with workers can be found in metrics-howto.md.
To use synapse.rules
add
rule_files:
- "/PATH/TO/synapse-v2.rules"
Metrics are disabled by default when running synapse; they must be enabled with the 'enable-metrics' option, either in the synapse config file or as a command-line option.