Spring cloud zipkin每秒异步跨距

Spring cloud zipkin每秒异步跨距,spring-cloud,zipkin,spring-cloud-sleuth,Spring Cloud,Zipkin,Spring Cloud Sleuth,我们有一个spring-boot-starter-parent-2.0.0.RELEASE,它使用springcloudstarterzipkin将跨度写入zipkin 我们也通过spring boot starter集成使用spring集成,并且我们添加了一个集成流,其中包含一个PollableChannel,用于轮询器中: @Bean public PollableChannel pollableChannel() { return new QueueChannel(100); }

我们有一个spring-boot-starter-parent-2.0.0.RELEASE,它使用springcloudstarterzipkin将跨度写入zipkin

我们也通过spring boot starter集成使用spring集成,并且我们添加了一个集成流,其中包含一个PollableChannel,用于轮询器中:

@Bean
public PollableChannel pollableChannel() {
    return new QueueChannel(100);
}

@Bean
@ServiceActivator(poller = @Poller(taskExecutor="batchTaskExecutor"), 
                  inputChannel= "pollableChannel")
public MyHandler myHandler() {
    return new MyHandler();
}
自从添加此配置以来,我们每秒都有一个异步跨度。这个跨度似乎来自@Poller,它检查队列中是否有项目

我想知道如何控制这个跨度。可以禁用吗?特别是如果没有物品


提前谢谢

如果它来自@Scheduled方法,则可以使用spring.sleuth.Scheduled.skipPattern查找线程并禁用它。如果您说它的名称是async,那么它意味着它来自一个TraceRunnable或TraceCallable。这可能是摆脱的问题。您可以在Sleuth中提交一个问题,以允许SpanRegulator实际上不向Zipkin发送跨距,例如返回null。您还可以尝试在所有spring.sleuth.async.enabled上禁用异步。如果您没有使用任何其他不应该干扰的async功能。

感谢您的响应,它帮助我指出了正确的路径。事实证明,跨度来自@Poller使用的ThreadPoolTaskExecutor。我已经创建了一个pull请求,改进了按名称禁用executors中的插装->