GateWay检查接口耗时

news/2024/10/19 9:32:18/

添加gateway依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

创建一个LogTimeGateWayFilterFactory类,可以不是这个名字但是后面必须是xxxGateWayFilterFactory
然后继承AbstractNameValueGatewayFilterFactory
在这里插入图片描述

@Component
@Slf4j
public class LogTimeGatewayFilterFactory extends AbstractNameValueGatewayFilterFactory {@Overridepublic GatewayFilter apply(NameValueConfig config) {return new GatewayFilter() {@Overridepublic Mono<Void> filter(ServerWebExchange exchange,GatewayFilterChain chain) {//获取配置的超时时间String value = ServerWebExchangeUtils.expand(exchange, config.getValue());Integer timespan = Integer.valueOf(value);//获取开始时间long start = System.currentTimeMillis();// 往下执行完并返回后   操作.then对执行结果操作完之后在返回return chain.filter(exchange).then(Mono.fromRunnable(()->{//获取结束时间long end = System.currentTimeMillis();//获取请求耗时long time = end - start;//判断是否超时if(time > timespan*1000){log.debug("请求耗时:{}ms",time);}}));}@Overridepublic String toString() {return filterToStringCreator(LogTimeGatewayFilterFactory.this).append(config.getName(), config.getValue()).toString();}};}
}

配置文件里配置,LogTime就是类名,但是不能带着GateWayFilterFactory
在这里插入图片描述


http://www.ppmy.cn/news/1455292.html

相关文章

PHP基础【介绍,注释,更改编码,赋值,数据类型】

源码 <?php //单行注释 /* 多行注释 *///通过header()函数发送http头的请求信息用来指定页面的字符集编码 header("Content-type:text/html;Charsetutf-8"); //告诉浏览器&#xff0c;当前页面的内容类型是HTML&#xff0c;并且页面内容使用的是UTF-8编码。//ph…

最原理的一集——Mathtype公式编号设置(Mathtype7.8+Word)

版本 Mathtype7.8Office2019 Word 读完本文你将会 随心所欲&#xff0c;想怎么给公式编号就怎么给公式编号&#xff0c;想从(X.1)开始&#xff0c;就从(X.1)开始大概了解Mathtype公式设置原理给作者点赞 如果你想自己跟着文章做的话 请不要在自己的论文里边直接操作&#…

《大数据最全面试题-Offer直通车》目录

大数据时代已经到来&#xff0c;数据科学家、大数据工程师、数据分析师等岗位成为了热门职业。如果你正准备面试&#xff0c;想要脱颖而出&#xff0c;那么《大数据最全面试题-Offer直通车》是你的不二选择。 本书汇集了多篇超过1万字的精华内容&#xff0c;包括程序员入职新公…

git stash 工作中常用命令记录

save 可省略, 则使用最近一次的提交记录的描述来存储 git stash save “暂存内容描述” 查看暂存列表 git stash list 获取/使用 但不删除 本次暂存内容 git stash apply 默认第一个使用其他则追加 stash{number} 即可, 例如,使用第三个(从0开始) git stash apply stash{2} 获取…

零基础入门学习Python第二阶01生成式(推导式),数据结构

Python语言进阶 重要知识点 生成式&#xff08;推导式&#xff09;的用法 prices {AAPL: 191.88,GOOG: 1186.96,IBM: 149.24,ORCL: 48.44,ACN: 166.89,FB: 208.09,SYMC: 21.29}# 用股票价格大于100元的股票构造一个新的字典prices2 {key: value for key, value in prices.i…

事件知识图谱 - EventKGE_Event knowledge graph embedding with event causal transfer

EventKGE: Event knowledge graph embedding with event causal transfer 作者&#xff1a;Daiyi Li&#xff08;南航&#xff09; 来源&#xff1a;2023 Knowledge-Based Systems&#xff08;中科院一区&#xff0c;影响因子8.8&#xff09; 论文&#xff1a;[ScienceDirec…

#9松桑前端后花园周刊-React19beta、TS5.5beta、Node22.1.0、const滥用、jsDelivr、douyin-vue

行业动态 Mozilla 提供 Firefox 的 ARM64 Linux二进制文件 此前一直由发行版开发者或其他第三方提供&#xff0c;目前Mozilla提供了nightly版本&#xff0c;正式版仍需要全面测试后再推出。 发布 React 19 Beta 此测试版用于为 React 19 做准备的库。React团队概述React 19…

java线上问题排查之内存分析(三)

java线上问题排查之内存分析 使用top命令 top命令显示的结果列表中&#xff0c;会看到%MEM这一列&#xff0c;这里可以看到你的进程可能对内存的使用率特别高。以查看正在运行的进程和系统负载信息&#xff0c;包括cpu负载、内存使用、各个进程所占系统资源等。 2.用jstat命令…