Working PR to capture all the changes required to update to otel java
1.19.0. The new log API force allows
`:instrumentation-appender-api-internal` and
`:instrumentation-appender-sdk-internal`, but necessitates a decent
amount of refactoring as a result.
The PR points at the `1.19.0-SNAPSHOT`, which I'll update upon
publication.
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
* Merge javaagent-instrumentation-api into javaagent-extension-api
* remove some leftover references to javaagent-instrumentation-api
* add missing instrumentation-api to distro example
* Move concurrent instrumentation utils out from javaagent-instrumentation-api
* Move AgentLogEmitterProvider, InstrumentedTaskClasses and OpenTelemetrySdkAccess out of javaagent-instrumentation-api
* initialize the package
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* add jboss-logmanger 2.1 instrumentation
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* rename the test
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* clean comment
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* Revert "Add JBoss java.util.logging support (#5498)"
This reverts commit 8b26cef666.
* Remove extra directory
* Remove old jboss log manager test
* Ensure no cross interference
* Change base version to 1.1
* fix styles
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* run spotless apply
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* fix codenarc
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* change the package version and additional module name
Signed-off-by: Cuichen Li <cuichli@cisco.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* during install, hook up the log emitter provider for instrumentation to use.
* spotless
* Fix tests
* Default instrumentation name to ROOT when logger name null/empty
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* rename artifacts and packages
* Library users shouldn't need to use internal
* Update docs
* Rename in order to simplify HelperClassPredicate
* Spotless
* Move AgentLogEmitterProvider to javaagent-instrumentation-api
* Update dependency version
* Change getTracerFactory to getTracerProvider
* Update some imports
* Change put to set
* Fix up bridge
* Update package names
* Update test SpanProcessor
* Remove null conditionals around setAttribute
* Update shading
* Update span context extraction
* Rename hibernate modules
* Update tracer name
* Change from gradle inheritance to composition
This will make it possible to have empty "grouping" modules, e.g.
instrumentation:hibernate.
* Introduce empty hibernate grouping module
Make it clear that this is experimental option, as the specifics of log
capture will definitely change sometime in the future once there is an
agreed on OpenTelemetry spec for this.
Capture logs as spans, to avoid the limitations of current
implementation that captures them as events (no log capture when no
current span, and limited number of events per span).
Change the log instrumentation module names to just reflect the
underlying logger, e.g. "log4j-1.1" instead of "log4j-spans-1.1". This
way we don't end up with an entirely deprecated artifact once the
logging spec is worked out. The spans instrumentation now shares modules
with the MDC instrumentation, which I think is reasonable, as you pick
which one you want via configuration.