* Merge javaagent-instrumentation-api into javaagent-extension-api
* remove some leftover references to javaagent-instrumentation-api
* add missing instrumentation-api to distro example
* Copies code for httpasyncclient-4.1 and creates instrumentation for 5.0
* Makes import changes for http client 5
* Decorate request channel and changes type in tests
* Corrects test cases
* Corrects most of the test cases
* Forces http1 protocol to pass the test cases
* Merge supported libraries for async client
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Remove http.sceme and http.target attr from test
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Removes not needed null check for status code
* Replaces slf4j loggers with JUL
* Inlined flavor extraction in attributes getter
* Uses parameter placeholders for logging
* Uses success endpoint to test flavor
* Merges httpasyncclient and httpclient modules
* Merges http client 5 modules
* Update java-8 compatible changes
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Change instrumentation name
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Adds missing import statement
* Rename packages
* Java 8
* Reverts adding 5.0+ support from supporting libraries
* Deleted hanging module
* Uses seconds instead of ms in http test
* Merges both classic and async client implementations
* Moves http client all test cases to java tests
* Uses abstract apache test class and moves boilerplate
* Uses connection and read timeouts from ApacheHttpClientTest
* Refactors remaining classes, shifts logic to HttpUtils
* Renames HttpUtils to ApacheHttpClientUtils
* Corrects failing code style error
* Corrects build errors
* Renames package to have http client version
* Corrects package name
* Uses instrumenter as static import
* Inline utility methods
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Net Extractors
* Either request or response but not both
* Fix merge conflicts
* Separate by OnStart/OnEnd
* PeerServiceAttributes
* Fix test
* Restructure to client/server
* Fix merge conflict in main
* more
* peer.service
* Feedback
* peer.service is only for clients
* Fix merge conflict
* rename
* Armeria
* peer.service is only for clients
* rename
* WIP
* Sync Dubbo with Armeria
* More Dubbo and Armeria
* gRPC
* Revert some Dubbo changes
* more peer.service
* Fix test
* Fix merge
* Fixes
* 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
* Remove unused extraClientSpans() method
* Merge extraAttributes() and hasClientSpanHttpAttributes(uri) into
httpAttributes(uri): this will allow to choose extracted attributes
per URI (for example, OkHttp won't set flavor on connection exception
once it's rewritten to Instrumenter)
* [WIP] Add peer.service to Instrumenter API
* Move PeerServiceAttributesExtractor to javaagent-api and use reflection to add it
* Finish PeerServiceAttributesExtractor
* Fix tests
* Add peer.service to apache-httpclient-5.0, jedis-1.4, lettuce-4.0
* Refactor TypeInstrumentation#transformers() method part 1
Add TypeInstrumentation and its implementations
* Refactor TypeInstrumentation#transformers() method part 2
Use the new method in all existing TypeInstrumentation implementations
* Drift
* Spotless
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* 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