Spring Sleuth |创建新的(分离/孤立)跟踪

Spring Sleuth |创建新的(分离/孤立)跟踪,spring,zipkin,spring-cloud-sleuth,Spring,Zipkin,Spring Cloud Sleuth,我得到了一个应用程序,利用它来跟踪服务间调用。在该应用程序中,存在一个在循环中执行http请求的应用程序(下面的伪代码): 如果我现在查看一下Sleuth生成并存储在中的跟踪,我可以看到所有http调用都与单个跟踪相关联。很可能是因为跟踪上下文是在调用ScheduledExecutorService::submit期间移交的 如何在开始下一次迭代之前清除当前跟踪,以便每次http调用都会产生一个新的分离/孤立跟踪?如果您使用的是Sleuth 2.0,则可以调用跟踪程序方法来创建新跟踪。在旧版本的

我得到了一个应用程序,利用它来跟踪服务间调用。在该应用程序中,存在一个在循环中执行http请求的应用程序(下面的伪代码):

如果我现在查看一下Sleuth生成并存储在中的跟踪,我可以看到所有http调用都与单个跟踪相关联。很可能是因为跟踪上下文是在调用
ScheduledExecutorService::submit
期间移交的


如何在开始下一次迭代之前清除当前跟踪,以便每次http调用都会产生一个新的分离/孤立跟踪?

如果您使用的是Sleuth 2.0,则可以调用
跟踪程序
方法来创建新跟踪。在旧版本的sleuth中,我想我应该使用而不是bean的执行器。这样,您将丢失跟踪,并在某个点重新启动(通过rest模板或类似的方式)。

如何使用跟踪程序启动新跟踪?我找不到这样的方法。你能给我一个提示吗?
class HttpCaller implements Runnable {
  public void run() {
    performHttpCall();
    // "loop"
    executor.submit(this::run);
  }
}

// start it once
scheduler.submit(new HttpCaller());