Files
UserBaseService/src/main/java/com/yunhai/userbase/loadtestmetrics/LoadTestMetricsConfig.java
T
chenxing 1047d2387f
ci-userbase-service / build-and-push (push) Successful in 2m20s
后端缓存管理
2026-09-07 09:33:10 +08:00

37 lines
1.7 KiB
Java

package com.yunhai.userbase.loadtestmetrics;
/* =============================================================================
* [LOADTEST-METRICS] 临时埋点 —— 《压测与oapi埋点统计方案.md》阶段一
* 压测结束后整体移除:删除 loadtestmetrics 包 + 回退 pom.xml/application.yml
* 中 [LOADTEST-METRICS] 标记段 + DROP TABLE oapi_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;
/**
* [LOADTEST-METRICS] 埋点装配:注册 oapi 指标过滤器。<br>
* <b>顺序说明(与方案 §2.1 的差异)</b>:方案原文写 +12(RequireAppSignFilter 之后),
* 但 +11 的 401 短路发生在 chain.doFilter 之前,+12 根本不会执行——
* 「401 验签失败也能统计」这一目标就落空了。故取 +10(与 AppAuthFilter 同级、
* 先于 +11 闸门):401 请求全量可统计;appKey 在 AppAuth 先执行时取权威 attr,
* 同序竞争落后时降级 header(签名场景两者取值一致,无实际偏差)。
*/
@Configuration
public class LoadTestMetricsConfig {
@Bean
public FilterRegistrationBean<OapiMetricsFilter> oapiMetricsFilter(OapiMetricsCollector collector) {
FilterRegistrationBean<OapiMetricsFilter> bean = new FilterRegistrationBean<>();
bean.setFilter(new OapiMetricsFilter(collector));
bean.addUrlPatterns("/oapi/*");
bean.setOrder(Ordered.HIGHEST_PRECEDENCE + 10);
bean.setName("oapiMetricsFilter");
return bean;
}
}