-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update open telemetry dependencies and switch to using the built in JDK http client for reporting traces #867
Conversation
5eb7f3d
to
87467ec
Compare
src/main/java/io/strimzi/kafka/bridge/tracing/OpenTelemetryHandle.java
Outdated
Show resolved
Hide resolved
a07e224
to
25df0af
Compare
With fresh eyes I realised there was a way to restore GRPC support (however that does require OpenTelemetry 1.34.0+). By adding dependencies on The build is now failing due to deprecations in the Obviously I'm happy to push up the simple renames however I'm looking for input from the maintainers for what to do about the non backwards compatible changes. The build fails due to using the deprecated properties but changing them breaks compatibility. |
Is it a documented way or an hack? Also I think that the deprecation issues makes things more complicated. |
I found it through the pull requests but they are listed in the docs. The realisation I had was both could be on the classpath and autoconfigure will work out which one it actually needs based on the configuration. |
Oh and as I forgot to mention it earlier the need for 1.34.0 rather than 1.28.0 where the sender was introduced was this bug fix |
bae934d
to
2120a7b
Compare
src/main/java/io/strimzi/kafka/bridge/tracing/OpenTelemetryHandle.java
Outdated
Show resolved
Hide resolved
documentation/modules/proc-configuring-kafka-bridge-tracing.adoc
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SamBarker I had another pass but I see some comments were not addressed.
documentation/modules/proc-configuring-kafka-bridge-tracing.adoc
Outdated
Show resolved
Hide resolved
@SamBarker I left just a nit and there are conflicts to fix before approving the PR. Thanks! |
710e5cb
to
e3af240
Compare
src/main/java/io/strimzi/kafka/bridge/tracing/OpenTelemetryHandle.java
Outdated
Show resolved
Hide resolved
src/main/java/io/strimzi/kafka/bridge/tracing/OpenTelemetryHandle.java
Outdated
Show resolved
Hide resolved
src/main/java/io/strimzi/kafka/bridge/tracing/OpenTelemetryHandle.java
Outdated
Show resolved
Hide resolved
4d4445e
to
14e150d
Compare
@ppatierno @scholzj I believe everything has been addressed and the PR checks are happy modulo a PR approval 😉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for the PR!
I tested (again) this PR and it seems to work fine, even switching between using |
Switch to using otel provided boms (Bill Of Materials) where possible as that is their supported model for version alignment see: https://arc.net/l/quote/uuvuaxoz Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
With both available we are back to feature parity with the OkHttp sender Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
Suppresses deprecation warnings as we need to mark them as deprecated to users before deleting them. Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
So that the bridge complies with the HTTP server semantic conventions https://opentelemetry.io/docs/specs/semconv/http/http-spans/#http-server-semantic-conventions Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
Co-authored-by: Paolo Patierno <[email protected]> Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
… opentelemetry-exporter-otlp. Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
Co-authored-by: Paolo Patierno <[email protected]> Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
Signed-off-by: Sam Barker <[email protected]>
25834ca
to
f1c5f65
Compare
Signed-off-by: Sam Barker <[email protected]>
I'm not clear what you want me to do, if anything, for that. The versions are the same across both this and the operator PR and the operator regression suite passed. Though that ran with the version of the bridge with out these changes. |
Maybe it was a misleading comment but I didn't want nothing to do from you :-D |
This PR removes the dependency on OkHttp and thus Kotlin in a fully backwards compatible fashion. It does this by replacing the
opentelemetry-exporter-sender-okhttp
(which is the OpenTelemetry default) with two separate senders. One for each transport.opentelemetry-exporter-sender-jdk
enables sending traces usinghttp/protobuf
which is the lowest common denominator option, as its the only method required by the OpenTelemetry specifications.opentelemetry-exporter-sender-grpc-managed-channel
enables support for sending traces usinggrpc
and thus feature parity with the OkHttp sender.In doing so it has brought in a newer version of the SemanticConventions library which has deprecated several of the used conventions. I have added the new fields where appropriate and suppressed the deprecation warnings as we need to propagate the changes to users.