更新时间:2022-02-21 GMT+08:00
事务列表
在执行一个事务时,可能需要服务间多次调用来完成该事务,任何一次慢调用或错误调用都会导致系统响应较慢。在日常运维中,可通过对这些响应较慢的事务进行分析,从而定位、解决应用问题,以提升服务的用户体验。
使用事务分析问题
以某事务极慢为例。
- 在事务列表中选择事务组中极慢的事务。
- 单击操作列中“查看调用链”,跳转到调用链页面,通过参数、调用耗时等进一步定位问题。也可通过跳转拓扑定位,具体操作请参见通过拓扑快速定位问题。
自定义事务
为了更精准定义事务,精准采集事务相关的调用链数据,您可以利用URI模板自定义事务,将多个请求分类放至不同的事务中。当采集器接收到请求时,优先计算自定义事务。
- 在事务界面,单击“自定义事务”。事务是由请求方法和正则表达式组成的,事务格式为{Request Method}_/{pattern},例如:请求方法为GET、POST,正则表达式为 /{name},则事务为GET,POST_/{name}。
- 选择“请求方法”。请求方法是一个或多个请求的方法名,包括GET、PUT、DELETE、POST、HEAD、CONNECT、OPTIONS、PATCH、TRACE、ALL,其中ALL表示可以匹配所有的请求方法。
- 在“正则表达式”文本框中,输入事务规则,单击“确定”,自定义事务规则保存成功。
正则表达式采用Spring MVC框架的URI模板匹配方式,例如:@RequestMapping(path="/owners/{ownerId}/pets/{petId}", method=RequestMethod.GET),其中ownerId、petId为变量。
如果您需要添加多条自定义事务规则,请单击“添加正则匹配”。
- 事务规则只能由英文大小写字母、数字、特殊字符“?”“*”“|”“=”“{}”“&”组成,且以“/”开头,不以“/”结尾,长度限制为1~50个字符。
- “?”“*”支持模糊匹配,“?”可以匹配一个字符,“*”可以匹配一个URI中两个“/”中间的0到n个字符,“**”可以无限匹配字符。例如:输入/first/*,可以匹配/first/test,不能匹配/first/test/test,输入/first/**,可以匹配/first/test、/first/test/test。