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. |
||
---|---|---|
.. | ||
jaxrs-1.0/javaagent | ||
jaxrs-2.0 | ||
jaxrs-3.0 | ||
jaxrs-common | ||
README.md |
README.md
Settings for the Jaxrs instrumentation
System property | Type | Default | Description |
---|---|---|---|
otel.instrumentation.jaxrs.experimental-span-attributes |
Boolean | false |
Enable the capture of experimental span attributes. |