From 5573b1b985389cc926c4a10127e802b478383857 Mon Sep 17 00:00:00 2001 From: Antoine Lambert <anlambert@softwareheritage.org> Date: Thu, 11 Apr 2024 12:19:30 +0200 Subject: [PATCH] base_checker: Set statsd constant tags in base checker classes --- swh/scrubber/base_checker.py | 25 ++++++++++++------------- swh/scrubber/journal_checker.py | 8 +------- swh/scrubber/objstorage_checker.py | 1 - 3 files changed, 13 insertions(+), 21 deletions(-) diff --git a/swh/scrubber/base_checker.py b/swh/scrubber/base_checker.py index 5cf7fc3..bd6f28b 100644 --- a/swh/scrubber/base_checker.py +++ b/swh/scrubber/base_checker.py @@ -29,10 +29,14 @@ class BaseChecker(ABC): ): self.db = db self.config_id = config_id - self.statsd_constant_tags: Dict[str, Any] = {} - self._config: Optional[ConfigEntry] = None self._statsd: Optional[Statsd] = None + self.statsd_constant_tags: Dict[str, Any] = { + "object_type": self.object_type.name.lower(), + "datastore_package": self.datastore.package, + "datastore_cls": self.datastore.cls, + "datastore_instance": self.datastore.instance, + } @property def config(self) -> ConfigEntry: @@ -59,6 +63,11 @@ class BaseChecker(ABC): ) return self._statsd + @property + def object_type(self) -> swhids.ObjectType: + """Returns the type of object being checked.""" + return self.config.object_type + @property def check_hashes(self) -> bool: return self.config.check_hashes @@ -84,17 +93,7 @@ class BasePartitionChecker(BaseChecker): ): super().__init__(db=db, config_id=config_id) self.limit = limit - self.statsd_constant_tags = { - "object_type": self.object_type, - "nb_partitions": self.nb_partitions, - "datastore_package": self.datastore.package, - "datastore_cls": self.datastore.cls, - } - - @property - def object_type(self) -> swhids.ObjectType: - """Returns the type of object being checked.""" - return self.config.object_type + self.statsd_constant_tags["nb_partitions"] = self.nb_partitions @property def nb_partitions(self) -> int: diff --git a/swh/scrubber/journal_checker.py b/swh/scrubber/journal_checker.py index dae1aae..d05cbcb 100644 --- a/swh/scrubber/journal_checker.py +++ b/swh/scrubber/journal_checker.py @@ -49,10 +49,6 @@ class JournalChecker(BaseChecker): self, db: ScrubberDb, config_id: int, journal_client_config: Dict[str, Any] ): super().__init__(db=db, config_id=config_id) - self.statsd_constant_tags = { - "datastore_package": self.datastore.package, - "datastore_cls": self.datastore.cls, - } if self.config.check_references: raise ValueError( @@ -66,9 +62,7 @@ class JournalChecker(BaseChecker): "The journal_client configuration entry should not define the " "object_types field; this is handled by the scrubber configuration entry" ) - self.journal_client_config["object_types"] = [ - self.config.object_type.name.lower() - ] + self.journal_client_config["object_types"] = [self.object_type.name.lower()] self.journal_client = get_journal_client( **self.journal_client_config, # Remove default deserializer; so process_kafka_values() gets the message diff --git a/swh/scrubber/objstorage_checker.py b/swh/scrubber/objstorage_checker.py index de08a88..45d013b 100644 --- a/swh/scrubber/objstorage_checker.py +++ b/swh/scrubber/objstorage_checker.py @@ -49,7 +49,6 @@ class ObjectStorageChecker(BasePartitionChecker): self.objstorage = ( objstorage if objstorage is not None else getattr(storage, "objstorage") ) - self.statsd_constant_tags["datastore_instance"] = self.datastore.instance def check_partition(self, object_type: ObjectType, partition_id: int) -> None: if object_type != ObjectType.CONTENT: -- GitLab