synapse/tests/util
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
..
caches Refactor cache metrics to be homeserver-scoped (#18604) 2025-07-16 16:04:57 -05:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_async_helpers.py Fix Twisted tests with latest release (#17911) 2024-11-07 16:22:09 +00:00
test_batching_queue.py Refactor Gauge metrics to be homeserver-scoped (#18725) 2025-07-29 10:37:59 -05:00
test_check_dependencies.py Remove support for python 3.8 (#17908) 2024-11-06 19:36:01 +00:00
test_dict_cache.py Refactor cache metrics to be homeserver-scoped (#18604) 2025-07-16 16:04:57 -05:00
test_events.py Add plain-text handling for rich-text topics as per MSC3765 (#18195) 2025-07-09 14:13:54 -05:00
test_expiring_cache.py Refactor cache metrics to be homeserver-scoped (#18604) 2025-07-16 16:04:57 -05:00
test_file_consumer.py Update license headers 2023-11-21 15:29:58 -05:00
test_itertools.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_linearizer.py Cleanup Python 3.8 leftovers (#17967) 2025-02-10 16:53:24 +00:00
test_logcontext.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_logformatter.py Update license headers 2023-11-21 15:29:58 -05:00
test_lrucache.py Refactor cache metrics to be homeserver-scoped (#18604) 2025-07-16 16:04:57 -05:00
test_macaroons.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_mutable_overlay_mapping.py Fix bug where sliding sync ignored room_id_to_include option (#18535) 2025-06-13 11:29:23 +01:00
test_ratelimitutils.py Refactor Counter metrics to be homeserver-scoped (#18656) 2025-07-25 14:58:47 -05:00
test_retryutils.py Refactor background process metrics to be homeserver-scoped (#18670) 2025-07-23 13:28:17 -05:00
test_rwlock.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_stream_change_cache.py Refactor cache metrics to be homeserver-scoped (#18604) 2025-07-16 16:04:57 -05:00
test_stringutils.py Implement MSC4133 to support custom profile fields. (#17488) 2025-01-21 11:11:04 +00:00
test_task_scheduler.py Migrate to assertEqual (#18488) 2025-06-06 16:14:09 +01:00
test_threepids.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_treecache.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_wheel_timer.py Fix WheelTimer implementation that can expired timeout early (#17850) 2024-11-05 12:08:17 -06:00