Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7436
* Created new Module `spring-webflux-5.3` which contains only
server-side library instrumentation
* Minimum supported version is 5.3 because there are various problems in
older versions of reactor and webflux that prevent a few of the tests
from passing.
* Moved existing `spring-webflux-5.0` (webclient instrumentation) into a
common `spring-webflux` folder next to the 5.3 (server) instrumentation.
Moved the README to the parent folder so the docs are cohesive between
client/server instrumentation.
* Implemented `WebFilter` which instruments the server-side
* Depends on the `reactor-3.1` instrumentation to pass the context
around. Registers the react hook when it creates the `WebFilter`
* Tests using the standard HTTP server test suite
---------
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* New net conventions: option a
* Feedback + sock.family + sock.peer.name
* peer.service + tests
* server net attributes attempt 1
* server net attributes attempt 2
* Javadoc
* Revisions
* Apply to instrumentations
* Feedback
* One more default method
* Spotless
* Fix javadoc
* Set http.route in spring-autoconfigure webmvc instrumentation
* Bump spring-webmvc library instrumentation version to 5.3
* nit: protected -> private
* Remove duplicated test (already covered by HttpSpanStatusExtractorTest)
* Move the README to the correct module
* fix link
* fix more links
* liiiiiiinks
* fix tests
* remove not needed weakref
* Add binding of span attributes for traced methods
* Spring Aspect support, memoization
* Test with attribute name from ParameterNameDiscoverer
* Refactorings, javadocs and tests
* Refactor out creating AttributeBinding to separate class
* Wrapped attribute bindings for array parameters
* Attribute binding for List and EnumSet
* Attribute binding for subclass of List with reflection helper class
* Fix test failures in JDK 8
* Attribute binding to Set<? extends Enum>
* Move attribute binding to instrumentation-annotation-support project
* Fix copypastaed missing imports in tests
* Simplify ParameterizedClass based on PR feedback and add javadocs
* Remove blank javadoc
* Switch to cache with weak keys for memoizing attribute bindings by method
* Remove binding support for EnumSet<?>
* Clean up javadoc
* Use SpanAttribute annotation from opentelemetry 1.4.0-SNAPSHOT
* Address some PR concerns
* Clean up
* Fix instrumentation dependency in Springboot
* Update documentation
* Switch javaagent dep to compileOnly per PR comment
* spotless
* Kick CI
* Rename annotation support module and packages
* Resolve SpanAttribute annotation at runtime with fallback for older OTel versions
* Remove unnecessary dependency
* Move reflection helper to annotation support module
* Remove unnecessary enum and fields from unit test
* Remove tracer name configuration from spring-boot-autoconfigure
* Use OpenTelemetry wherever it makes sense
* Refactor @WithSpan advice since it made no sense before
* Rename @EnableOpenTelemetryTracing to @EnableOpenTelemetry (it won't be just tracing in the future)
* And add a getOpenTelemetry() method to InstrumentationExtension & InstrumentationSpecification
* Update instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/WithSpanAspectTracer.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Code review comments
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>