New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add webflux webclient plugin #5493
Conversation
ramain the last
update localbase
update to date of time
update project
Codecov Report
@@ Coverage Diff @@
## master #5493 +/- ##
============================================
+ Coverage 51.29% 52.17% +0.88%
- Complexity 3301 3350 +49
============================================
Files 1604 897 -707
Lines 34051 22141 -11910
Branches 3706 2119 -1587
============================================
- Hits 17466 11552 -5914
+ Misses 15723 9660 -6063
- Partials 862 929 +67 Continue to review full report at Codecov.
|
Your test case seems to include the context propagation, but your screenshot seems to not include that important part. |
Please read |
Dear sir,do you mean the |
Your screenshot. Webflux doesn't call another service. |
Also, webflux case fails, you need to recheck. |
Thank you,sir. I will recheck it. |
…expectedData.yaml
You don't need to keep update your branch. You could focus on your plugin and tests. We just need the sync before merging. |
ok,I got it.And I will do what you said. |
@wu-sheng ,Mr. Wu,when I test in my pc, the test case has passed. The result is just like this: |
@dmsolr @kezhenxu94 Could you take a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The newly-added module is not packaged before webflux-dist
module, so the error message occurred, see my comment inline, please also note that there is another failure in the CI
oap-server/server-bootstrap/src/main/resources/component-libraries.yml
Outdated
Show resolved
Hide resolved
...narios/webflux-scenario/webflux-webclient-scenario/src/main/resources/application.properties
Outdated
Show resolved
Hide resolved
.../apache/skywalking/apm/testcase/sc/webflux/projectB/controller/TestAnnotationController.java
Show resolved
Hide resolved
� Conflicts: � test/plugin/scenarios/webflux-scenario/support-version.list � test/plugin/scenarios/webflux-scenario/webflux-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/webflux/projectA/controller/TestController.java
2.1.1.RELEASE | ||
2.1.2.RELEASE | ||
2.1.3.RELEASE | ||
2.1.4.RELEASE | ||
2.1.5.RELEASE | ||
2.1.6.RELEASE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Recently, we are reducing the unnecessary tests, you could run all these locally, but in the upstream CI, we recommend the latest mini version num, 2.1.6 for all 2.1.x.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need I modify it ? Just like this:
2.1.6.RELEASE
2.1.7.RELEASE
2.1.8.RELEASE
2.1.9.RELEASE
2.1.10.RELEASE
2.1.11.RELEASE
2.1.12.RELEASE
2.1.13.RELEASE
2.1.14.RELEASE
2.1.15.RELEASE
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think just 2.1.15? Do they have big difference?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The differences between 2.1.x versions are mainly bug fixes. It seems that the difference will not affect our test results.But the version has released to 2.3.x and these versions will include new feature additions . So I don't whether we need to add test for different version of 2.x ?
The specific differences can be seen in the following link:https://github.com/spring-projects/spring-boot/tags
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Basically, we recommend using the latest versions of 2.1.x, 2.2.x, and 2.3.x
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok,I got it . I wiil modify it immediately.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test codes look good to me, please add comments for all src codes. @kezhenxu94 Could you recheck?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Webflux plugin seems still unstable. I saw it passed once, but when I re-run it, it has failed twice. Could you help on rechecking?
2.1.17.RELEASE | ||
2.2.10.RELEASE | ||
2.3.4.RELEASE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The version of 2.1x.RELEASE seems has passed ,but 2.2.x failed.It seem context-path has not activated,I will check it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please answer these questions before submitting a pull request
Why submit this pull request?
Bug fix
New feature provided
Improve performance
Related issues
Bug fix
Bug description.
How to fix?
New feature or improvement
This plugin can collect the information of webflux
Interceptor Method
org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction$exchange()
Why I chose the mehod?
No matter what the
webclient
calls exchange() or retrieve(), the asynchronous request is finally executed throughorg.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction$exchange()
and returnMono<ClientResponse>
.So I choseexchange()
as the Interceptor Method.Result