* don't report 400 level as error for server spans
* fix HttpServerTest base class
* fix JspInstrumentationForward test
* split HttpStatusConverter into client and server implementations, and create two HttpSpanStatusExtractor.create methods, one for server and one for client.
* rebase
* fix test
* spotless
* fix test
* remove unused
* use strongly typed attributes converters and rename to overloaded create()
* fix tests
* remove redundant assert
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
* Make it possible to use InstrumentationContext (now VirtualField) from library instrumentation
* fix tests
* fix javadocs
* fix some more tests
* code review comments
* setIfNull, computeIfNull
* Use Armeria for test HTTP server.
* Continue
* Migrate test http server to Armeria.
* Finish
* Use junit extension
* Remove unused.
* Use localhost for net peer name.
* Block for full response in recator-netty tests.
* Handle split responses in netty41 and akka
* Typo
* 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
* work in progress
* set span state to error and cleanup
* build test
* gotta get spotless
* cleanup
* move getResponseCode advice to its own advice class.
* remove dynamic type from annotation
* Update instrumentation/http-url-connection/javaagent/src/test/groovy/HttpUrlConnectionTest.groovy
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Update instrumentation/http-url-connection/javaagent/src/test/groovy/HttpUrlConnectionTest.groovy
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* testing-common refactoring: replace direct AgentTestRunner usage with spock spec
* Updated instrumentation docs
* Fix reactor-core library tests
ReactorCoreTest was getting a tracer from GlobalOpenTelemetry before LibraryTestTrait had a change to initialize the SDK