Onboarding ADOT Java to v2.x - with otel v2.10.0 (NOT READY) #975
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes:
Onboarding ADOT Java to v2.x, with the latest
opentelemetry-java-instrumentation
dependency versionv2.10.0
. Update the workflows, adot core implementation codes, contract tests and smoke tests with following change:A. Workflows:
.github/patches/opentelemetry-java-instrumentation.patch
file with the same code change as previous patch based on upstream v2.10.0.B. Core repo:
com.github.johnrengelman.shadow
tocom.gradleup.shadow
as it has been marked under maintenance mode: https://github.com/GradleUp/shadow?tab=readme-ov-file#gradle-shadowcom.diffplug.spotless
to newer version 6.25.0com.google.cloud.tools.jib
to newer version 3.4.4"otel.resource.providers.aws.enabled"
to betrue
.C. Contract tests:
kotlin("jvm")
version to be compatible if the new Java class from upstream.OTEL_EXPORTER_OTLP_PROTOCOL
togrpc
for instrumentation as in version v2.0.0:a. All the change made in Support new semantice conventions. #972:
http.url
->url.full
http.method
->http.request.method
http.status_code
->http.response.status_code
net.peer.name
->server.address
net.peer.port
->server.port
b. extra semantic conventions included in contract tests:
http.scheme
->url.scheme
http.target
->url.query
http.url
->url.full
net.host.name
->server.address
net.host.port
->server.port
net.peer.name
->server.address
net.peer.port
->server.port
net.protocol.name
->network.protocol.name
net.protocol.version
->network.protocol.version
net.sock.host.addr
->network.local.address
net.sock.host.port
->network.local.port
net.sock.peer.addr
->network.peer.address
net.sock.peer.name
-> no replacement, removedmessaging.kafka.destination.partition
->messaging.destination.partition.id
messaging.message.payload_size_bytes
->messaging.message.body.size
Remove
network.protocol.name
attribute check as it has marked as Conditionally required if not http and network.protocol.version is set: https://opentelemetry.io/blog/2023/http-conventions-declared-stable/#summary-of-changes.Conditionally check
peer.service
for http client. Match with PR: https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/12083/filesRemove local socket attributes from http server span check as it is not extracted from HttpServerAttributesExtractor code,
Remove
http.response.header.content_length
as it need an explicit configuration: https://opentelemetry.io/docs/specs/semconv/attributes-registry/http/#http-response-headerD. Smoke tests
Enable controller telemetry using env variable
OTEL_INSTRUMENTATION_COMMON_EXPERIMENTAL_CONTROLLER_TELEMETRY_ENABLED
, which is disabled by default.https://opentelemetry.io/docs/zero-code/java/agent/disable/#suppressing-controller-andor-view-spans
Testing:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.