JIRA:https://issues.redhat.com/browse/QUARKUS-2391
Quarkus already supported Opentelemetry as a tech preview, but now we move towards full support, then we will extend our test coverage.
In the current quarkus-test-suite exist two modules dedicated to opentelemetry in the monitoring folder, they are:
- opentelemetry [monitoring-opentelemetry]
- opentelemetry-reactive [monitoring-opentelemetry-reactive]
These tests utilize trace export to Jaeger (all-in-one pod) components and context propagation through a Ping-Pong application with 3 pods (ping service,pong service, jaeger-all-in-one). The traces are directly sent to the Jaeger collector, and they also test Quarkus gRPC communication between services and SSE (Server-Sent Events).
On the other hand, also other modules use quarkus-opentelemetry
dependency:
- javaee-like-getting-started
- build-time-analytics
- http/graphql-telemetry
- http/vertx-web-client
- sql-db/narayana-transactions (where is tested JDBC Opentelemetry instrumentation)
- Disable Opentelemetry extensions to ensure the application behaves as expected without tracing enabled.
- Testing scenario with additional configuration options such as custom Id Generator, Propagators, Resource, Sampler configuration.
- Integration tests to ensure proper tracing is enabled and functioning correctly with other core Quarkus extensions such as
quarkus-smallrye-reactive-messaging-amqp
. - Testing Opentelemetry in dev mode once this issue is resolved: Opentelemetry has no Dev Service in dev mode
- Testing of exportation of security events as Opentelemetry Events, stored inside spans.
Some new tests will be added inside monitoring-opentelemetry, messaging-amqp-reactive modules.
Ensure the test cases are running on JVM in both baremetal and OpenShift environments.
To become familiar with the feature, the following actions were taken:
- Reviewed the guide and experimented with the Opentelemetry-quickstart code
- Tester: Jose Carranza [email protected]