* Extract HTTP request/response headers as span attributes
* fix muzzle
* code review comments
* fix compilation failure after merge conflict
* avoid using streams API when transforming the headers list
* fix liberty extractor
* fix spring webmvc extractor
* Make it possible to use InstrumentationContext (now VirtualField) from library instrumentation
* fix tests
* fix javadocs
* fix some more tests
* code review comments
* setIfNull, computeIfNull
* Add a README for the okhttp library instrumentation.
* Create new instrumentation for okhttp3 4.x+
This exposes a `Call.Factory` which will properly handle internal context propagation when used with async callbacks.
* update the "4.x" instrumentation to support 3.x
* Get rid of the 4.x instrumentation, and just update the 3.x instrumentation to work
* updates from PR review
* replace old reflection with method handle usage
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
This will make it notice the peer-service-mapping settings to set peer.service span attribute
I know this approach is deprecated but I hope to follow this up with another change to use the
new Instrumenter API.
#3009
* Fix webflux client filter subscribe
* Add test
* Fix test
* Fix test, take 2
* Fix another test
* Suppress test for another module
* Suppress another library instrumentation
* Another
* Add nested client suppression in Armeria
* Add comments
* Revert extra line
* Move and rename NetPeerUtils
* Rename NetPeerUtils to NetPeerAttributes; inject instance instead of using a global var
* Rename SpanAttributeSetter to AttributeSetter (might be used to set on AttributesBuilder in the future, who knows)
* Deprecate default BaseTracer constructor: library instrumentations are supposed to inject all dependencies, the javaagent should explicitly pass globals
* fix compilation failure
* Remove peer.service customization from library instrumentation