Class TraceUtils

java.lang.Object
tech.riemann.nif.trace.util.TraceUtils

public class TraceUtils extends Object
链路追踪工具类
Author:
Riemann

创建日期: 2026/03/27 10:14:44

  • Constructor Details

    • TraceUtils

      public TraceUtils()
  • Method Details

    • getCurrentTraceId

      public static String getCurrentTraceId()
      获取当前链路ID
      Returns:
      当前链路ID
    • setCurrentTraceId

      public static void setCurrentTraceId(String traceId)
      设置当前链路ID
      Parameters:
      traceId - 链路ID
    • generateNewTraceId

      public static String generateNewTraceId()
      生成新的链路ID
      Returns:
      新的链路ID
    • clearCurrentTraceId

      public static void clearCurrentTraceId()
      清理当前链路ID
    • wrapCallable

      public static <T> Callable<T> wrapCallable(Callable<T> callable)
      包装一个Callable,在执行时保持trace上下文
      Type Parameters:
      T - 返回值类型
      Parameters:
      callable - 待包装的callable
      Returns:
      包装后的callable
    • wrapRunnable

      public static Runnable wrapRunnable(Runnable runnable)
      包装一个Runnable,在执行时保持trace上下文
      Parameters:
      runnable - 待包装的runnable
      Returns:
      包装后的runnable
    • wrapSupplier

      public static <T> Supplier<T> wrapSupplier(Supplier<T> supplier)
      包装一个Supplier,在执行时保持trace上下文
      Type Parameters:
      T - 返回值类型
      Parameters:
      supplier - 待包装的supplier
      Returns:
      包装后的supplier
    • currentTraceContext

      public static TracePropagationUtil.TraceContextWrapper currentTraceContext()
      获取当前trace上下文的副本
      Returns:
      TraceContextWrapper实例
    • wrapExecutor

      public static Executor wrapExecutor(Executor executor)
      包装Executor,使其在执行任务时传播trace上下文
      Parameters:
      executor - 被包装的Executor
      Returns:
      包装后的Executor
    • wrapExecutorService

      public static ExecutorService wrapExecutorService(ExecutorService executorService)
      包装ExecutorService,使其在执行任务时传播trace上下文
      Parameters:
      executorService - 被包装的ExecutorService
      Returns:
      包装后的ExecutorService