Added support for Lettuce reactive Redis commands#788
Added support for Lettuce reactive Redis commands#788wuwen5 wants to merge 11 commits intoapache:mainfrom
Conversation
...main/java/org/apache/skywalking/apm/plugin/lettuce/common/RedisChannelWriterInterceptor.java
Outdated
Show resolved
Hide resolved
|
I am not sure whethere there is some issues in e2e. Many fails, but seem irrelevant. |
|
I fixed the test framework via recent release PR(#791). Although two rocketmq cases have to been removed as it can't pass in CI in anyway, can't find out a clue. Once I get that PR merged, I could update here, and your case should be able to run again. |
|
Resolve conflicts as I put 9.7 out, and have fixed all things. |
|
supported-framework doc should be updated as well, and supported versions should be in changes as well. |
...n/src/main/java/org/apache/skywalking/apm/plugin/lettuce/common/RedisCommandEnhanceInfo.java
Outdated
Show resolved
Hide resolved
|
A key question is as following, we should consider this case. I think user could use like this, right? |
…main/java/org/apache/skywalking/apm/plugin/lettuce/common/RedisCommandEnhanceInfo.java Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
This PR does not change the supported version ranges of any frameworks |
How about this? |
I'm still working on the changes and verifying them. |
… for context propagation
|
I saw you added some propogation logic, but only when |
I personally think we should not create a new context when This is also consistent with the execution model of Redis synchronous commands, where exit spans are not forcibly correlated with each other when there is no active upstream context, and each span remains independent. |
|
I am not sure about general redis plugin, but for project level consideration, there is no pre condition requiring an entry span start a redis access. |
Sure, that’s correct. My earlier description was indeed incorrect. I've found that it seems difficult to achieve this solely within the However, users can a toolkit to achieve this correlation, for instance by manually creating and injecting a parent span. e.g. |
|
My point is, it is user responsibility, if spans(exit) are separated with different trace IDs, so be it. User could add codes like you mentioned to link them if they want, but they need to see those spans. |
|
You should just release the limitation of creating a span. If there is no main span, let's create several independent spans for lettuce accessing. |
CHANGESlog.Resolves apache/skywalking#12817