1
0

Refactor from hs.metrics_manager -> hs.get_metrics_manager()

This matches the pattern of other homeserver attributes like `hs.get_clock()`
This commit is contained in:
Eric Eastwood
2025-06-24 16:42:33 -05:00
parent e46690c418
commit 3277afd520
28 changed files with 35 additions and 33 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ class FederationRemoteSendQueue(AbstractFederationSender):
def __init__(self, hs: "HomeServer"):
self.server_name = hs.hostname
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.notifier = hs.get_notifier()
self.is_mine_id = hs.is_mine_id
self.is_mine_server_name = hs.is_mine_server_name
+1 -1
View File
@@ -378,7 +378,7 @@ class FederationSender(AbstractFederationSender):
self._storage_controllers = hs.get_storage_controllers()
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.is_mine_id = hs.is_mine_id
self.is_mine_server_name = hs.is_mine_server_name
@@ -61,7 +61,7 @@ class TransactionManager:
self._server_name = hs.hostname
self.clock = hs.get_clock() # nb must be called this for @measure_func
self.metrics_manager = (
hs.metrics_manager
hs.get_metrics_manager()
) # nb must be called this for @measure_func
self._store = hs.get_datastores().main
self._transaction_actions = TransactionActions(self._store)
+1 -1
View File
@@ -79,7 +79,7 @@ class ApplicationServicesHandler:
self.scheduler = hs.get_application_service_scheduler()
self.started_scheduler = False
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.notify_appservices = hs.config.worker.should_notify_appservices
self.event_sources = hs.get_event_sources()
self._msc2409_to_device_messages_enabled = (
+1 -1
View File
@@ -58,7 +58,7 @@ class DelayedEventsHandler:
self._storage_controllers = hs.get_storage_controllers()
self._config = hs.config
self._clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._event_creation_handler = hs.get_event_creation_handler()
self._room_member_handler = hs.get_room_member_handler()
+2 -2
View File
@@ -528,7 +528,7 @@ class DeviceHandler(DeviceWorkerHandler):
self.clock = hs.get_clock() # nb must be called this for @measure_func
self.metrics_manager = (
hs.metrics_manager
hs.get_metrics_manager()
) # nb must be called this for @measure_func
self.federation_sender = hs.get_federation_sender()
@@ -1224,7 +1224,7 @@ class DeviceListUpdater(DeviceListWorkerUpdater):
self.clock = hs.get_clock() # nb must be called this for @measure_func
self.metrics_manager = (
hs.metrics_manager
hs.get_metrics_manager()
) # nb must be called this for @measure_func
self._remote_edu_linearizer = Linearizer(name="remote_device_list")
+1 -1
View File
@@ -485,7 +485,7 @@ class EventCreationHandler:
self.event_builder_factory = hs.get_event_builder_factory()
self.clock = hs.get_clock() # nb must be called this for @measure_func
self.metrics_manager = (
hs.metrics_manager
hs.get_metrics_manager()
) # nb must be called this for @measure_func
self.profile_handler = hs.get_profile_handler()
self.server_name = hs.hostname
+2 -2
View File
@@ -749,7 +749,7 @@ class PresenceHandler(BasePresenceHandler):
super().__init__(hs)
self.wheel_timer: WheelTimer[str] = WheelTimer()
self.notifier = hs.get_notifier()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
federation_registry = hs.get_federation_registry()
@@ -1763,7 +1763,7 @@ class PresenceEventSource(EventSource[int, UserPresenceState]):
self.get_presence_handler = hs.get_presence_handler
self.get_presence_router = hs.get_presence_router
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.store = hs.get_datastores().main
async def get_new_events(
+1 -1
View File
@@ -337,7 +337,7 @@ class SyncHandler:
self._push_rules_handler = hs.get_push_rules_handler()
self.event_sources = hs.get_event_sources()
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.state = hs.get_state_handler()
self.auth_blocking = hs.get_auth_blocking()
self._storage_controllers = hs.get_storage_controllers()
+1 -1
View File
@@ -505,7 +505,7 @@ class TypingNotificationEventSource(EventSource[int, JsonMapping]):
def __init__(self, hs: "HomeServer"):
self._main_store = hs.get_datastores().main
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
# We can't call get_typing_handler here because there's a cycle:
#
# Typing -> Notifier -> TypingNotificationEventSource -> Typing
+1 -1
View File
@@ -104,7 +104,7 @@ class UserDirectoryHandler(StateDeltasHandler):
self._storage_controllers = hs.get_storage_controllers()
self.server_name = hs.hostname
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.notifier = hs.get_notifier()
self.is_mine_id = hs.is_mine_id
self.update_user_directory = hs.config.worker.should_update_user_directory
+2 -2
View File
@@ -406,7 +406,7 @@ class MatrixFederationHttpClient:
self.server_name = hs.hostname
self.reactor = hs.get_reactor()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
user_agent = hs.version_string
if hs.config.server.user_agent_suffix:
@@ -453,7 +453,7 @@ class MatrixFederationHttpClient:
)
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._store = hs.get_datastores().main
self.version_string_bytes = hs.version_string.encode("ascii")
self.default_timeout_seconds = hs.config.federation.client_timeout_ms / 1000
@@ -32,7 +32,7 @@ IS_USER_ALLOWED_TO_UPLOAD_MEDIA_OF_SIZE_CALLBACK = Callable[[str, int], Awaitabl
class MediaRepositoryModuleApiCallbacks:
def __init__(self, hs: "HomeServer") -> None:
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._get_media_config_for_user_callbacks: List[
GET_MEDIA_CONFIG_FOR_USER_CALLBACK
] = []
@@ -44,7 +44,7 @@ GET_RATELIMIT_OVERRIDE_FOR_USER_CALLBACK = Callable[
class RatelimitModuleApiCallbacks:
def __init__(self, hs: "HomeServer") -> None:
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._get_ratelimit_override_for_user_callbacks: List[
GET_RATELIMIT_OVERRIDE_FOR_USER_CALLBACK
] = []
@@ -340,7 +340,7 @@ class SpamCheckerModuleApiCallbacks:
def __init__(self, hs: "synapse.server.HomeServer") -> None:
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._check_event_for_spam_callbacks: List[CHECK_EVENT_FOR_SPAM_CALLBACK] = []
self._should_drop_federated_event_callbacks: List[
+1 -1
View File
@@ -131,7 +131,7 @@ class BulkPushRuleEvaluator:
self.store = hs.get_datastores().main
self.clock = hs.get_clock() # nb must be called this for @measure_func
self.metrics_manager = (
hs.metrics_manager
hs.get_metrics_manager()
) # nb must be called this for @measure_func
self._event_auth_handler = hs.get_event_auth_handler()
self.should_calculate_push_rules = self.hs.config.push.enable_push
+1 -1
View File
@@ -79,7 +79,7 @@ class ReplicationFederationSendEventsRestServlet(ReplicationEndpoint):
self.store = hs.get_datastores().main
self._storage_controllers = hs.get_storage_controllers()
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.federation_event_handler = hs.get_federation_event_handler()
@staticmethod
+1 -1
View File
@@ -80,7 +80,7 @@ class ReplicationSendEventRestServlet(ReplicationEndpoint):
self.store = hs.get_datastores().main
self._storage_controllers = hs.get_storage_controllers()
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
@staticmethod
async def _serialize_payload( # type: ignore[override]
+1 -1
View File
@@ -81,7 +81,7 @@ class ReplicationSendEventsRestServlet(ReplicationEndpoint):
self.store = hs.get_datastores().main
self._storage_controllers = hs.get_storage_controllers()
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
@staticmethod
async def _serialize_payload( # type: ignore[override]
+1 -1
View File
@@ -79,7 +79,7 @@ class ReplicationDataHandler:
self.notifier = hs.get_notifier()
self._reactor = hs.get_reactor()
self._clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._streams = hs.get_replication_streams()
self._instance_name = hs.get_instance_name()
self._typing_handler = hs.get_typing_handler()
+1 -1
View File
@@ -80,7 +80,7 @@ class ReplicationStreamer:
def __init__(self, hs: "HomeServer"):
self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.notifier = hs.get_notifier()
self._instance_name = hs.get_instance_name()
+4 -2
View File
@@ -311,8 +311,6 @@ class HomeServer(metaclass=abc.ABCMeta):
# This attribute is set by the free function `refresh_certificate`.
self.tls_server_context_factory: Optional[IOpenSSLContextFactory] = None
self.metrics_manager = HomeserverMetricsManager()
def register_module_web_resource(self, path: str, resource: Resource) -> None:
"""Allows a module to register a web resource to be served at the given path.
@@ -417,6 +415,10 @@ class HomeServer(metaclass=abc.ABCMeta):
def get_clock(self) -> Clock:
return Clock(self._reactor)
@cache_in_self
def get_metrics_manager(self) -> HomeserverMetricsManager:
return HomeserverMetricsManager()
def get_datastores(self) -> Databases:
if not self.datastores:
raise Exception("HomeServer.setup must be called before getting datastores")
+2 -2
View File
@@ -194,7 +194,7 @@ class StateHandler:
self._state_storage_controller = hs.get_storage_controllers().state
self.clock = hs.get_clock() # nb must be called this for @measure_func
self.metrics_manager = (
hs.metrics_manager
hs.get_metrics_manager()
) # nb must be called this for @measure_func
self._state_resolution_handler = hs.get_state_resolution_handler()
self._storage_controllers = hs.get_storage_controllers()
@@ -635,7 +635,7 @@ class StateResolutionHandler:
def __init__(self, hs: "HomeServer"):
self.clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.resolve_linearizer = Linearizer(name="state_resolve_lock")
@@ -338,7 +338,7 @@ class EventsPersistenceStorageController:
self.persist_events_store = stores.persist_events
self._clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._instance_name = hs.get_instance_name()
self.is_mine_id = hs.is_mine_id
self._event_persist_queue = _EventPeristenceQueue(
+1 -1
View File
@@ -70,7 +70,7 @@ class StateStorageController:
def __init__(self, hs: "HomeServer", stores: "Databases"):
self._is_mine_id = hs.is_mine_id
self._clock = hs.get_clock()
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self.stores = stores
self._partial_state_events_tracker = PartialStateEventsTracker(stores.main)
self._partial_state_room_tracker = PartialCurrentStateTracker(stores.main)
@@ -226,7 +226,7 @@ class EventsWorkerStore(SQLBaseStore):
hs: "HomeServer",
):
super().__init__(database, db_conn, hs)
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._stream_id_gen: MultiWriterIdGenerator
self._backfill_id_gen: MultiWriterIdGenerator
+1 -1
View File
@@ -100,7 +100,7 @@ class RoomMemberWorkerStore(EventsWorkerStore, CacheInvalidationWorkerStore):
hs: "HomeServer",
):
super().__init__(database, db_conn, hs)
self.metrics_manager = hs.metrics_manager
self.metrics_manager = hs.get_metrics_manager()
self._server_notices_mxid = hs.config.servernotices.server_notices_mxid
+1 -1
View File
@@ -101,7 +101,7 @@ class TypingNotificationsTestCase(unittest.HomeserverTestCase):
self.mock_federation_client.agent = MatrixFederationAgent(
reactor=reactor,
# After we get access to the `hs` homeserver instance, we can replace the federation agent
metrics_manager=hs.metrics_manager,
metrics_manager=hs.get_metrics_manager(),
tls_client_options_factory=None,
user_agent=b"SynapseInTrialTest/0.0.0",
ip_allowlist=None,