@ConditionalOnMissingBean(name = "slowRequestsFilter")
        @Bean
        @ConditionalOnEnabledHealthIndicator("systemHealthIndicator")
        @ConditionalOnAvailableEndpoint(endpoint = MetricsEndpoint.class)
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public FilterRegistrationBean slowRequestsFilter(final MeterRegistry meterRegistry) {
            val slowRequestTimer = Timer.builder("slow.requests.timer")
                .publishPercentileHistogram()
                .register(meterRegistry);
            val filter = new SlowRequestsFilter(slowRequestTimer);
            val bean = new FilterRegistrationBean<SlowRequestsFilter>();
            bean.setFilter(filter);
            bean.setAsyncSupported(true);
            bean.setUrlPatterns(CollectionUtils.wrap("/*"));
            bean.setName("slowRequestsFilter");
            bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
            return bean;
        }
This is {@link CasCoreMonitorAutoConfiguration}.

@author Misagh Moayyed
@since 5.0.0
core/cas-server-core-monitor/src/main/java/org/apereo/cas/config/CasCoreMonitorAutoConfiguration.java