def METHOD_NAME(self, response):
    self.log.debug("Parsing readiness output")
    service_checks_sent = set()
    if response is not None:
        try:
            items = response.json().items()
        except Exception as e:
            self.log.debug("Could not read readiness service check payload: %s", str(e))
        else:
            for key, value in items:
                self.log.trace("Reading key %s", key)
                # Format:
                # {
                #     "master_check": [
                #         {
                #             "status": "ok"
                #         }
                #     ]
                # }
                if (
                    not key.endswith("_check")
                    or not isinstance(value, list)
                    or not value
                    or not value[0].get("status")
                ):
                    continue
                if check := self.READINESS_SERVICE_CHECKS.get(key):
                    gitlab_status = value[0].get("status")
                    if gitlab_status == "ok":
                        dd_status = OpenMetricsBaseCheckV2.OK
                    elif gitlab_status is None:
                        dd_status = OpenMetricsBaseCheckV2.UNKNOWN
                    else:
                        dd_status = OpenMetricsBaseCheckV2.CRITICAL
                    self.service_check(f"gitlab.readiness.{check}", dd_status, self._tags)
                    service_checks_sent.add(key)
                else:
                    self.log.debug("Unknown service check %s", check)
    # Handle all the declared checks that we did not get from the endpoint
    for missing_service_check in self.READINESS_SERVICE_CHECKS.keys() - service_checks_sent:
        self.service_check(
            f"gitlab.readiness.{self.READINESS_SERVICE_CHECKS[missing_service_check]}",
            OpenMetricsBaseCheckV2.UNKNOWN,
            self._tags,
        )