java - 使用 Openzipkin Brave 与 ForkJoinPool 进行跟踪

标签 java spring-mvc trace zipkin forkjoinpool

我正在尝试将 Openzipkin Brave 应用于应用程序,以帮助使用 Logback 进行日志跟踪。该应用程序是一个 spring webmvc 应用程序,它使用 ForkJoinPool。

主线程(spring webmvc 部分)中的跟踪正在工作,但我在将跟踪上下文传递到 ForkJoinThread 时遇到困难。根据我的理解,跟踪上下文存储在 threadlocal 中,显然 ForkJoinWorkerThread (或 ForkJoinTask)无法访问它。我想知道如何才能让它发挥作用。

最佳答案

了解 ForkJoinPool 如何使用 ForkJoinWorkerThreadFactory 和 ForkJoinWorkerThread 进行设计/操作,并成为工作线程在 Spring 上下文之外执行的 native Java 功能。向 ForkJoinPool 执行添加跟踪的唯一方法是自定义任务本身。

这是blog在 Spring Boot 3x 中使用 Micrometer 添加跟踪到 ForkJoinPool 任务执行。

关于java - 使用 Openzipkin Brave 与 ForkJoinPool 进行跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52474703/

相关文章:

trace - 是否可以使用 eBPF 或 perf 来计算在单个跟踪函数中花费的时间?

java - 组合键之间的多对一关系

java - @RequestMapping 和 @RenderMapping 有什么区别

c++ - 如何在 C++ 中的日志文件中写入一些跟踪

java - Maven 3.0.5 + Windows 8 + jdk 7 问题

java - spring 模型对象未在 jsp 页面上呈现

c# - 使用 TraceOptions.Timestamp 时如何格式化时间戳数据

java - 如果设置@Enableconfigurationproperties,为什么@Contexthierarchy不缓存bean?

java - 如何使用 Spring Security 正确获取与用户关联的 GrantedAuthority 列表?

java - 如何告诉 Gradle 使用特定的 JDK 版本?