簡體   English   中英

spring-cloud-sleuth使用rabbitmq-binder通過spring-cloud-stream進行跟蹤:如何完成跟蹤

[英]spring-cloud-sleuth Trace via spring-cloud-stream with rabbitmq-binder: how to finish the Trace

我已經使用帶有RabbitMQ-binds和spring-cloud-sleuth的spring-cloud-stream設置了一個演示項目。

dependencies {
    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" // for @ConfigurationProperties, make sure compileJava.dependsOn(processResources)
    compile 'org.springframework.boot:spring-boot-starter-security'
    compile 'org.springframework.boot:spring-boot-starter-actuator'
    compile 'org.springframework.cloud:spring-cloud-starter-config'
    compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    compile 'org.springframework.cloud:spring-cloud-starter-sleuth'
    compile "org.springframework.boot:spring-boot-starter-web-services" // I also have some REST endpoints
    compile 'org.springframework.cloud:spring-cloud-stream-binder-rabbit'
}

我有一個預定的spring-cloud-stream源:

@Scheduled(fixedDelay = 2500, initialDelay = 500)
@HystrixCommand(fallbackMethod = "fallbackTimerMessageSource")
@SendTo(SourceChannels.OUTPUT)
public void timerMessageSource() {
     ...

然后是中間層,類似於最終的接收器層,如下所示:

@Autowired
private Tracer sleuthTracer;


@StreamListener(SinkChannels.INPUT)
public void sinked(MessageDTO payload) {
    logger.info("[{}]sinked by {} with '{}'", instanceIndex, Sink.class.getSimpleName(), payload);
    ...

我很高興地看到TraceId和SpanId在所有進程中自動地通過RabbitMQ隊列傳遞到了日志文件中的接收器進程:

2018-03-20 20:55:10.580  INFO [circuitbreakers_sink,820fcab9830191c7,a388974ea57dac3a,true] 43379 --- [k27JdIWK8axsQ-1] c.d.minimal.circuitbreaker.sinks.Sink    : [0]sinked by Sink with 'Tue Mar 20 20:55:06 CET 2018 MESSAGE: 'fromSource transformed by tier1 transformed by tier2' modifiers: ' modBy:tier1:i0 modBy:tier2:i0''

因此,在這一點上,最后的接收者層希望(明確)發出信號,此跟蹤(我的業務流程實例)已finish此處finish

如何顯示整個跟蹤已完成?

我只找到sleuthTracer.currentSpan().finish(); 但這僅完成了Span ...而不是明確表示已在此處完成整個跟蹤。

我錯過了什么? (對於zipkin,勇敢和偵探非常陌生)

zipkin中沒有痕量整理的概念。 跡線中的跨度可以開始和結束。 我們不會在不同主機上啟動和停止跨度,因此未完成的跨度可能是偶然的。 如果您喜歡https://gitter.im/spring-cloud/spring-cloud-sleuth,可以在此處聊天更多

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM