def METHOD_NAME(self, env):
    if self.INTERVAL_PER_ROUTE <= 0.0:
        return True
    method = env.waf_addresses.get(SPAN_DATA_NAMES.REQUEST_METHOD)
    route = env.waf_addresses.get(SPAN_DATA_NAMES.REQUEST_ROUTE)
    # Framework is not fully supported
    if not method or not route:
        log.debug("unsupported groupkey for api security [method %s] [route %s]", bool(method), bool(route))
        return False
    # WAF has triggered, always collect schemas
    results = env.telemetry.get(_WAF_RESULTS)
    if results and any((result.data for result in results[0])):
        return True
    # Rate limit per route
    key = method + route
    r = self._rate_limiter_by_route.get(key)
    if r is None:
        self._rate_limiter_by_route[key] = r = RateLimiter(
            limit_rate=1 / self.INTERVAL_PER_ROUTE,
            tau=self.INTERVAL_PER_ROUTE,
            raise_on_exceed=False,
        )
    return r.limit() is not RateLimitExceeded