gpt4 book ai didi

java - 如何在 Spring Boot 中分析复杂的 http 请求处理?

转载 作者:行者123 更新时间:2023-12-02 13:36:24 27 4
gpt4 key购买 nike

我有复杂的 @RestController 方法,如下所示:

@PostMapping("{id}")
@PreAuthorize("hasRole('ADMIN')")
@Transactional
public Response handleRequest(@PathVariable("id") long id, @RequestBody @Valid Request request) {
return service.handleRequest(id, request);
}

我们的请求处理速度非常慢,因此我们想检查特定请求处理任务花费了多少时间。不幸的是,很多事情都是在我的方法之外完成的,例如:

  • 反序列化请求
  • 正在验证
  • 权限检查
  • 开始和结束交易
  • 正在序列化响应

有没有办法简单地测量所有这些部件?也许有一组接收跟踪消息的记录器,以便我可以在每个步骤结束时提取时间戳?

我现在看到的唯一方法是更改​​该方法以接受 HttpServletRequest 和 HttpServletResponse 并在方法体内执行这些部分。但这样我就会失去很多 Spring Boot 的好处。

最佳答案

您还可以检查为执行器添加自定义指标的教程,但这似乎有点复杂(但您必须编写自己的指标bean并将其注入(inject)代码中,覆盖objectMapper进行映射等... )

或者可能激活 jackson、spring-security、javax.validation 上的日志记录信息,以检查日志中每个操作的时间,但不是很精确

关于java - 如何在 Spring Boot 中分析复杂的 http 请求处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54651883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com