skywalking-threadpool-agent
skywalking-threadpool-agent copied to clipboard
引入包后追踪出问题
skywalking 版本 8.7.0 1、引入当前 agent 后。 原本的 http 追踪入口没了。 只剩下 RunnableWrapper。 日志采集没问题,都采集成功了。
2、简单的 controller 层,直接返回 string。引入当前 agent 后,多次请求。存在 traceId 相同的情况, 目测是运行到同一线程出现问题。 测试不添加启动命令, 不出现此问题。
@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
@GetMapping("/echo")
public String echo() {
log.info("demo echo");
return "demo echo";
}
}
11:41:35.609 [TID: c81c0cb554e84ebaa03ad1eea79cf6c1.77.16287396956070001] [http-nio-8090-exec-10] INFO com.xx.xx.controller.DemoController - demo echo
11:42:35.252 [TID: c81c0cb554e84ebaa03ad1eea79cf6c1.77.16287396956070001] [http-nio-8090-exec-10] INFO com.xx.xx.controller.DemoController - demo echo
猜测是与nio线程组不兼容的问题,该类线程对应的runnable理论上应该禁用该增强功能,需要增加一个禁用的黑名单。 Guess it's Not compatible with the nio thread here. There should be a blank list of the incompatible Runnable class.
怎么处理的好?
怎么处理的好?
目前来看,需要在当前这个版本,加入黑名单的功能。 当前版本是无法解决这个问题的。
这种黑名单处理是需要在AgentBuilder中进行ignore还是可以在RunnableWrapper中进行过滤?