zipkin上升间隔每秒

时间:2018-07-20 08:27:57

标签: spring-cloud zipkin spring-cloud-sleuth

我们有一个使用spring-cloud-starter-zipkin的spring-boot应用程序(spring-boot-starter-parent-2.0.0.RELEASE),用于将“跨度”写入zipkin。

我们也使用spring-integration(通过spring-boot-starter-integration),并且添加了带有PollableChannel的集成流程以供轮询器使用:

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

@Bean
@ServiceActivator(poller = @Poller(taskExecutor="batchTaskExecutor"), 
                  inputChannel= "pollableChannel")
public MyHandler myHandler() {
    return new MyHandler();
}

自从添加此配置以来,我们每秒都有一个“异步”跨度。似乎此范围来自@Poller,检查队列中是否有项目。

我想知道如何控制此范围。可以禁用吗?特别是如果没有物品。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果它来自@Scheduled方法,则可以使用https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/scheduling/SleuthSchedulingProperties.java#L38spring.sleuth.scheduled.skipPattern)查找并禁用该线程。如果您说它的名称为async,则表示它来自TraceRunnableTraceCallable。要摆脱这一点可能是有问题的。您可以在Sleuth中提出问题,以允许SpanAdjuster实际上不将跨度发送到Zipkin(例如,返回null)。您也可以尝试在所有spring.sleuth.async.enabled上禁用异步功能。如果您不使用异步的任何其他功能,那么这些功能都不应干涉。