def METHOD_NAME(timeout=CACHE_TIMEOUT) -> List[WebhookData]:
    with opentracing_trace("get_observability_webhooks", "webhooks"):
        buffer_name = get_buffer_name()
        if cached := _webhooks_mem_cache.get(buffer_name, None):
            webhooks_data, check_time = cached
            if monotonic() - check_time <= timeout:
                return webhooks_data
        webhooks_data = cache.get(WEBHOOKS_KEY)
        if webhooks_data is None:
            webhooks_data = []
            if webhooks := get_webhooks_for_event(WebhookEventAsyncType.OBSERVABILITY):
                domain = Site.objects.get_current().domain
                for webhook in webhooks:
                    webhooks_data.append(
                        WebhookData(
                            id=webhook.id,
                            saleor_domain=domain,
                            target_url=webhook.target_url,
                            secret_key=webhook.secret_key,
                        )
                    )
            cache.set(WEBHOOKS_KEY, webhooks_data, timeout=CACHE_TIMEOUT)
        _webhooks_mem_cache[buffer_name] = (webhooks_data, monotonic())
        return webhooks_data