Commit Graph

6 Commits

Author SHA1 Message Date
Zimmem 2bd58bce7a
fix the trace breaking bugs in WebFlux server and WebClient(#114)
* Fix the bug that maybe generate multiple traces when invoking HTTP requests by Spring WebFlux server and WebClient.
2022-03-01 20:47:18 +08:00
wallezhang 4b66f1e0a7
fix: Fix MultiScopesAnalysisListener#setPublicAttrs log warn frequently (#7271)
* fix: Fix MultiScopesAnalysisListener#setPublicAttrs log warn frequently. #6562

1. Rename current STATUS_CODE to HTTP_RESPONSE_STATUS_CODE, real tag key should be http.status_code.
2. Add a new string tag RPC_RESPONSE_STATUS_CODE to hold all string type value tag. The key is `rpc.status_code`.
3. At the backend, keep responseCode for HTTP_RESPONSE_STATUS_CODE tag, but add @Deprecated. Also, add httpResponseStatusCode(a duplicate of responseCode) and rpcStatusCode(for RPC_RESPONSE_STATUS_CODE) fields for OAL.

* Modify `Tags.STATUS_CODE` field name to `Tags.HTTP_RESPONSE_STATUS_CODE` and type from `StringTag` to `IntegerTag`, add `Tags.RPC_RESPONSE_STATUS_CODE` field to hold rpc response code value.

* Add `rpcStatusCode` for `rpc.status_code` tag in the OAL objects. The `responseCode` field is marked as deprecated and replaced by `httpResponseStatusCode` field. 

* Tag `status_code` is still supported in the backend for forward compatbility. Will be removed one year later.

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2021-08-14 20:17:46 +08:00
yujiaxinlong aa4ee27d4a
fix gateway plugin async finish repeatedly when fallback configured (#5886)
When there is a fallback in webflux (like a hystrix fallback or a webflux fallback method that involves visiting a new URL). This interceptor would be invoked twice, one for origin request and another for fallback request. The ServerWebExchange for these two aren't exactly the same one, but the former one is a delegate inside of the latter one, thus, they share the same attributes.

The problem of the old code is that get the span from attributes within the execution of Mono would get span for the latter request twice. so just move this part of code out could solve the problem.

It seems impossible to make the mono chain work like expected. So add a check about whether the best matching pattern really matches the URL. This check code is how webflux generating the best match pattern,
2021-07-17 20:50:57 +08:00
Xin,Zhang 1b5dd9b3f3
Move spring webflux into optional plugin (#5445)
* Move spring webflux into optional plugin

* Fix compile check

* Fix check style

* Adjust code

* add docs

* Update docs/en/setup/service-agent/java-agent/README.md

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-09-09 09:53:07 +08:00
吴晟 Wu Sheng 25a677b9c7
Move Webflux plugin into default list. (#4129)
* Move Webflux plugin into default list.

* Fix a typo.
2019-12-25 22:08:14 +08:00
cyejing bc77fda5c1 Enhance webflux plugin, related to Spring Gateway plugin too. (#3945)
* webflux-reactive

* add support version comment, modify gateway

* add test case, modify name

* add docs

* remove healthCheck
2019-12-17 08:58:57 +08:00