add support for reactive Spring WebClient instrumentation
See original GitHub issueIs your feature request related to a problem?
Webflux provides a client that allows to communicate with other reactive services.
While server-side instrumentation is covered with elastic/apm-agent-java#1305 , the client part is not part of it.
Describe the solution you’d like
- instrument Webflux client
- capture external HTTP requests as spans and link them to the active transaction.
- should support the two available implementations: reactor/netty and jetty
- add context-propagation headers to HTTP calls
Implementation notes
- instrument all sub-classes of
ClientHttpConnector
seems a good start
Issue Analytics
- State:
- Created 3 years ago
- Reactions:14
- Comments:17 (9 by maintainers)
Top Results From Across the Web
Web on Reactive Stack - Spring
This part of the documentation covers support for reactive-stack web applications built on a Reactive Streams API to run on non-blocking ...
Read more >WebClient instrumentation in spring sleuth - Stack Overflow
WebClient instrumentation will only work if new instance is created via Spring as a Bean. Check Spring Cloud Sleuth reference guide. You have...
Read more >Spring 5 WebClient and WebTestClient Tutorial with Examples
Add Reactive Web, and Validation dependencies. Click Generate to generate and download the project. Consuming Remote APIs using WebClient. Let's ...
Read more >New Relic Announces Support for Spring 5, Including WebFlux
New Relic APM's WebFlux instrumentation identifies transactions based on route functions. · New Relic APM instruments WebFlux WebClient so that ...
Read more >Spring WebClient Instrumentation - Documentation - Kamon.io
The Spring WebClient instrumentation will automatically create spans for requests sent using Spring WebClient. All requests will have a name that ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Great work. It seems development has been done. Do you have any ETA to merge in the release?
FYI I am currently working on the #1305 PR, which adds server-side support for Webflux, there is a dependency on reactor instrumentation (that will also be added by this PR), thus there will likely be some overlap if you implement the client-side.
Any help being more than welcome, if you have something that works for you we’ll be happy to review it, please open a draft PR when you can so we can see what is the best way to move this forward. One aspect for which contributions are more than welcome is test suites so we can ensure that implementation will work with your use-cases.