-
Notifications
You must be signed in to change notification settings - Fork 881
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
apache camel 2.20.x instrumentation #1397
Conversation
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.
Two more questions:
- Have you tested it on a 3.X camel project? Can we be sure that this instrumentation won't interfere with Camel's OTel instrumentation?
- Can you add some multithreaded tests (e.g. multicast & aggregate)? To make sure that context is propagated correctly
...main/java/io/opentelemetry/instrumentation/auto/apachecamel/CamelContextInstrumentation.java
Outdated
Show resolved
Hide resolved
...main/java/io/opentelemetry/instrumentation/auto/apachecamel/CamelContextInstrumentation.java
Outdated
Show resolved
Hide resolved
...main/java/io/opentelemetry/instrumentation/auto/apachecamel/CamelContextInstrumentation.java
Outdated
Show resolved
Hide resolved
....20/src/main/java/io/opentelemetry/instrumentation/auto/apachecamel/CamelTracingService.java
Outdated
Show resolved
Hide resolved
...-2.20/src/main/java/io/opentelemetry/instrumentation/auto/apachecamel/ActiveSpanManager.java
Outdated
Show resolved
Hide resolved
...ain/java/io/opentelemetry/instrumentation/auto/apachecamel/decorators/HttpSpanDecorator.java
Outdated
Show resolved
Hide resolved
...umentation/apache-camel-2.20/src/test/groovy/test/TwoServicesCamelSpringBootBasedTest.groovy
Outdated
Show resolved
Hide resolved
...umentation/apache-camel-2.20/src/test/groovy/test/TwoServicesCamelSpringBootBasedTest.groovy
Outdated
Show resolved
Hide resolved
...umentation/apache-camel-2.20/src/test/groovy/test/TwoServicesCamelSpringBootBasedTest.groovy
Outdated
Show resolved
Hide resolved
.../src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ActiveSpanManager.java
Outdated
Show resolved
Hide resolved
@mateuszrzeszutek added new tests (multithreaded and simple internal direct). Also - added logic to prevent wrong CLIENT spas with all internal components. Please have another look :) |
.../src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ActiveSpanManager.java
Show resolved
Hide resolved
...src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelEventNotifier.java
Show resolved
Hide resolved
I'm not a primary reviewer for this, but I wonder how it is possible to effectively review a 2222 line PR. Can this be broken up into a series of smaller PRs to make it easier for maintainers to review? |
@iNikem @anuraaga @trask @tylerbenson please have a look, looking into closing this PR this week. Thanks in advance! |
Honestly, I am waiting for @mateuszrzeszutek approval :) He has done such thorough first review. |
@iNikem yep, I'm nagging him on a daily basis ;) |
.../src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ActiveSpanManager.java
Outdated
Show resolved
Hide resolved
.../src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/ActiveSpanManager.java
Show resolved
Hide resolved
...src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelEventNotifier.java
Outdated
Show resolved
Hide resolved
...ava/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/BaseSpanDecorator.java
Outdated
Show resolved
Hide resolved
...ava/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/BaseSpanDecorator.java
Outdated
Show resolved
Hide resolved
...va/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/KafkaSpanDecorator.java
Outdated
Show resolved
Hide resolved
...ava/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/RestSpanDecorator.java
Outdated
Show resolved
Hide resolved
...ava/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/HttpSpanDecorator.java
Outdated
Show resolved
Hide resolved
...ava/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/HttpSpanDecorator.java
Outdated
Show resolved
Hide resolved
instrumentation/apache-camel-2.20/src/test/groovy/test/MulticastDirectCamelTest.groovy
Show resolved
Hide resolved
instrumentation/apache-camel-2.20/src/test/groovy/test/RestCamelTest.groovy
Outdated
Show resolved
Hide resolved
@mateuszrzeszutek pls have another look ;) |
Fixes #1356
Instrumentation for Apache Camel 2.20.x
Apache Camel provides OTEL instrumentation (https://camel.apache.org/components/latest/others/opentelemetry.html) but for Camel >= 3.5. For customers using older versions that don't want / can't move to 3.5 or newer, a separate instrumentation library is provided.
NOTE
Large portions of the code has been adapted from existing Apache Camel OpenTracing library. In order to honour the license and work of the original Authors, I've added following header:
to all files consisting at least some code from the library.
The header was put under "package" in order to pass spotless:license plugin check.
I'm not entirely sure that the header is 100% compatible with Apache License 2.0 of the original code (see /~https://github.com/apache/camel/tree/camel-2.20.0/components/camel-opentracing). Therefore during review please have a look at this as well.