You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2019/05/20 08:16:24 UTC

[GitHub] [skywalking] zxbu opened a new issue #2719: rabbit in spring boot project, the one total trace will divide two trace

zxbu opened a new issue #2719: rabbit in spring boot project, the one total trace will divide two trace
URL: https://github.com/apache/skywalking/issues/2719
 
 
   Please answer these questions before submitting your issue.
   
   - Why do you submit this issue?
   - [ ] Question or discussion
   - [x] Bug
   - [ ] Requirement
   - [ ] Feature or performance improvement
   
   
   ___
   ### Bug
   - Which version of SkyWalking, OS and JRE?
   6.1
   - Which company or project?
   use rabbit `@RabbitListener` in spring project,  the code like this:
   
   ```java
       @RabbitListener(queues = "aaaa")
       public void handlerMessage(String message) {
           //  there will invoke dubbo service
       }
   ```
   
   It should be one trace like:` rabbitmq-producer -> rabbitmq-consumer -> dubbo`
   but in fact, I got two trace: `rabbitmq-producer -> rabbitmq-consumer ` and `dubbo`
   
   ![image](https://user-images.githubusercontent.com/32785355/58006098-d5a0e100-7b19-11e9-9863-c8e16e52ee9d.png)
   
   I have find the reason: 
   the rabbit producer InstanceMethodsInterceptPoint was `com.rabbitmq.client.impl.ChannelN#basicPublish` , it will call at `AMQP Connection` Thread, But `@RabbitListener` method will call at other thread, So the trace will divide two trace

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services