synapse/scripts-dev
Eric Eastwood f13a136396
Refactor Gauge metrics to be homeserver-scoped (#18725)
Bulk refactor `Gauge` metrics to be homeserver-scoped. We also add lints
to make sure that new `Gauge` metrics don't sneak in without using the
`server_name` label (`SERVER_NAME_LABEL`).

Part of https://github.com/element-hq/synapse/issues/18592



### Testing strategy

 1. Add the `metrics` listener in your `homeserver.yaml`
    ```yaml
    listeners:
      # This is just showing how to configure metrics either way
      #
      # `http` `metrics` resource
      - port: 9322
        type: http
        bind_addresses: ['127.0.0.1']
        resources:
          - names: [metrics]
            compress: false
      # `metrics` listener
      - port: 9323
        type: metrics
        bind_addresses: ['127.0.0.1']
    ```
1. Start the homeserver: `poetry run synapse_homeserver --config-path
homeserver.yaml`
1. Fetch `http://localhost:9322/_synapse/metrics` and/or
`http://localhost:9323/metrics`
1. Observe response includes the TODO metrics with the `server_name`
label

### Pull Request Checklist

<!-- Please read
https://element-hq.github.io/synapse/latest/development/contributing_guide.html
before submitting your pull request -->

* [x] Pull request is based on the develop branch
* [x] Pull request includes a [changelog
file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog).
The entry should:
- Be a short description of your change which makes sense to users.
"Fixed a bug that prevented receiving messages from other servers."
instead of "Moved X method from `EventStore` to `EventWorkerStore`.".
  - Use markdown where necessary, mostly for `code blocks`.
  - End with either a period (.) or an exclamation mark (!).
  - Start with a capital letter.
- Feel free to credit yourself, by adding a sentence "Contributed by
@github_username." or "Contributed by [Your Name]." to the end of the
entry.
* [x] [Code
style](https://element-hq.github.io/synapse/latest/code_style.html) is
correct (run the
[linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
2025-07-29 10:37:59 -05:00
..
build_debian_packages.py Remove support for python 3.8 (#17908) 2024-11-06 19:36:01 +00:00
check_line_terminators.sh Update license headers 2023-11-21 15:29:58 -05:00
check_locked_deps_have_sdists.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
check_pydantic_models.py Enable flake8-logging and flake8-logging-format rules in Ruff and fix related issues throughout the codebase (#18542) 2025-06-13 09:44:18 +02:00
check_schema_delta.py Check for CREATE/DROP INDEX in schema deltas (#18440) 2025-05-19 10:52:05 +00:00
check-newsfragment.sh Update book location 2023-12-13 16:15:22 +00:00
complement.sh Add support for MSC4155 Invite filtering (#18288) 2025-06-05 11:49:09 +01:00
config-lint.sh Fix Shellcheck SC2006: Use $(...) notation 2021-10-22 23:08:55 +01:00
database-save.sh Drop unused table presence (#14825) 2023-01-13 14:17:03 +00:00
docker_update_debian_changelog.sh Update license headers 2023-11-21 15:29:58 -05:00
dump_macaroon.py Change the format of access tokens away from macaroons (#5588) 2021-05-12 15:04:51 +01:00
federation_client.py Replace deprecated HTTPAdapter.get_connection method with get_connection_with_tls_context (#17536) 2024-08-08 14:59:37 +01:00
gen_config_documentation.py Use UTF-8 for config doc generation (#18580) 2025-07-22 17:54:47 +00:00
generate_sample_config.sh Add suffices to scripts in scripts-dev (#12137) 2022-03-02 18:00:26 +00:00
lint.sh Add config doc generation command to lint.sh and add missing config schema. (#18522) 2025-06-10 12:43:58 +01:00
make_full_schema.sh Make it easier to use DataGrip w/ Synapse's schema (#14982) 2023-02-15 13:51:37 +00:00
mypy_synapse_plugin.py Refactor Gauge metrics to be homeserver-scoped (#18725) 2025-07-29 10:37:59 -05:00
next_github_number.sh Fix typo 2023-12-13 16:37:10 +00:00
release.py Use markdown-it-py instead of commonmark in the release script. (#18637) 2025-07-11 12:54:46 +00:00
schema_versions.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
sign_json.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00