darcydai opened a new pull request #17:
URL: https://github.com/apache/skywalking-java/pull/17


   ### Fix <lettuce plugin has a wrong design for record span time elapsed>
   - [x] Add a unit test to verify that the fix works.
   - [x] Explain briefly why the bug exists and how to fix it.
   
   - [ ] If this pull request closes/resolves/fixes an existing issue, replace 
the issue number. Closes #<issue number>.
   - [ ] Update the [`CHANGES` 
log](https://github.com/apache/skywalking/blob/master/CHANGES.md).
   
   Lettuce is an async Redis client base on netty, and wide use in our company.
   Recently I found almost every lettuce span has the time elapsed less than 
1ms and has a long gap between two spans. After reading the lettuce source 
code, I found the plugin some bug.
   because  lettuce is an async framework base on netty, old interceptor named 
'RedisChannelWriterInterceptor' stop span in after method can not record the 
time elapsed, it should be close in 'RedisCommand#complete' or 
'RedisCommand#completeExceptionally' or 'RedisCommand#cancel'   called when 
Redis server response 
   lettuce plugin record nothing when lettuce work on reactive mode (project 
reactor)
   record Redis peer in skywalking dynamic field can simplify
   
   The new plugin can work with Redis standalone and Redis Sentinel and Redis 
cluster(old version can not).  Redis cluster and Redis sentinel need to use 
docker-compose. I do not know how to make scenarios test in this two cluster 
model
   
   
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to