36 lines
1.6 KiB
Java
36 lines
1.6 KiB
Java
package com.yunhai.userhome.loadtestmetrics;
|
|
|
|
/* =============================================================================
|
|
* [LOADTEST-METRICS] 临时埋点 —— 《压测与oapi埋点统计方案.md》阶段二
|
|
* 压测结束后整体移除:删除 loadtestmetrics 包 + 回退 pom.xml/application.yml
|
|
* 中 [LOADTEST-METRICS] 标记段 + DROP TABLE api_metrics。
|
|
* 移除步骤详见仓库根《埋点移除清单.md》。
|
|
* ============================================================================= */
|
|
|
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.core.Ordered;
|
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
|
|
/**
|
|
* [LOADTEST-METRICS] 埋点装配:注册入站指标过滤器 + 开启定时快照。<br>
|
|
* @EnableScheduling 只服务于 {@link ApiMetricsCollector#flush()}(UserHome 主类原本未开定时任务,
|
|
* 删包后此能力一并消失,主类零改动);过滤器取最前置 order,连 CAS 302 也计入入站口径。
|
|
*/
|
|
@Configuration
|
|
@EnableScheduling
|
|
public class ApiMetricsConfig {
|
|
|
|
@Bean
|
|
public FilterRegistrationBean<ApiMetricsFilter> apiMetricsFilter(ApiMetricsCollector collector) {
|
|
FilterRegistrationBean<ApiMetricsFilter> bean = new FilterRegistrationBean<>();
|
|
bean.setFilter(new ApiMetricsFilter(collector));
|
|
bean.addUrlPatterns("/*");
|
|
bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
|
|
bean.setName("apiMetricsFilter");
|
|
return bean;
|
|
}
|
|
|
|
}
|