opentelemetry-java-instrume.../testing
Ago Allikmaa a9788a22de
Provide ability to add HTTP server response headers, with Tomcat implementation (#7990)
This allows custom distributions of the agent to register
`HttpServerResponseCustomizer` implementations. When a supported HTTP
server instrumentation starts processing a response, the `onStart`
method of all registered implementations will be invoked with the
`Context` of the SERVER span, an instrumentation-specific response
object and `HttpServerResponseMutator` instance that allows appending
headers to that response.

The intent of this is to allow custom distributions to set a header
containing span context information, such as the trace and span IDs. As
such, the initial implementation only allows appending response headers
and nothing else.

The `HttpServerResponseCustomizer` and related classes are currently in
a subpackage of the `io.opentelemetry.javaagent.bootstrap` package in
`javaagent-extension-api`. This makes them get loaded in the bootstrap
classloader, thus directly accessible from instrumentations. I am not
aware if there is an elegant way to put it in the agent classloader
instead, yet have the same instance accessible from both
`AgentInstaller` and instrumentations.

This also includes Tomcat-specific implementation in order to be able to
demonstrate that it works, and add automated testing of this to
HttpServerTest including one implementation.
2023-03-13 17:46:39 +01:00
..
agent-exporter Provide ability to add HTTP server response headers, with Tomcat implementation (#7990) 2023-03-13 17:46:39 +01:00
agent-for-testing Bump spotless-plugin-gradle from 6.12.0 to 6.12.1 (#7500) 2023-01-03 09:58:06 +00:00
armeria-shaded-for-testing Bump com.linecorp.armeria:armeria-junit5 from 1.22.0 to 1.22.1 (#7818) 2023-02-14 23:31:11 +00:00