From b400c6aaf3aae832092ffc604af028f3ad35b13d Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Tue, 14 Feb 2023 10:33:42 -0600 Subject: [PATCH 1/3] [WFLY-17510] Remove MicroProfile OpenTracing Analysis doc for MP OpenTracing Removal --- ...17510-remove-microprofile-opentracing.adoc | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 microprofile/WFLY-17510-remove-microprofile-opentracing.adoc diff --git a/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc b/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc new file mode 100644 index 000000000..ddc904e00 --- /dev/null +++ b/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc @@ -0,0 +1,103 @@ += WFLY-17510: Remove MicroProfile OpenTracing +:author: Jason Lee +:email: jasondlee@redhat.com +:toc: left +:icons: font +:idprefix: +:idseparator: - + +== Overview + +WildFly has long offered MicroProfile OpenTracing as part of its overall MicroProfile support. Since its inclusion in WildFly, however, OpenTracing has merged with OpenCensus to form https://opentelemetry.io[OpenTelemetry]. Because of this merger, the OpenTracing project itself has been abandoned, and the MicroProfile Working Group has decided to remove OpenTracing from the platform specification, replacing it with MicroProfile Telemetry, which wraps and exposes https://opentelemetry.io[OpenTelemetry]. The effort under this JIRA will cover only the effort to remove MicroProfile OpenTracing (MicroProfile OpenTracing) from the server and migrate installations to MicroProfile Telemetry. + +== Issue Metadata + +=== Issue + +* https://issues.redhat.com/browse/WFLY-17510[WFLY-17510] + +=== Related Issues + +* https://issues.redhat.com/browse/WFLY-17156[WFLY-17156] +* https://issues.redhat.com/browse/EAP7-2002[EAP7-2002] + +=== Dev Contacts + +* mailto:{email}[{author}] + +=== QE Contacts + +* mailto:fburzigo@redhat.com[Fabio Burzigotti] + +=== Testing By +* [x] Engineering +* [ ] QE + +=== Affected Projects or Components + +All the code changes will be confined to the MicroProfile OpenTracing extension and subsystem, which includes the Java code, Galleon modules/layers, etc. + +=== Other Interested Projects + +* WildFly +* OpenTelemetry/MicroProfile Telemetry are involved but unchanged. + +=== Relevant Installation Types +* [x] Traditional standalone server (unzipped or provisioned by Galleon) +* [ ] Managed domain +* [x] OpenShift s2i +* [x] Bootable jar + +== Requirements + +=== Hard Requirements + +MicroProfile OpenTracing will be migrated to an admin-only module and removed from standard configs. + +A `MigrateOperation` will be added to remove the extension from existing server configs upon server startup (in admin-only mode). For systems with MicroProfile OpenTracing configured, OpenTelemetry will be configured using default values. + +=== Nice-to-Have Requirements + +=== Non-Requirements + +Converting MicroProfile OpenTracing config to OpenTelemetry config. The configuration options and default values vary enough that a meaningful conversion is not possible. + +== Backwards Compatibility + +This represents the removal of a subsystem, so any application the depends on these APIs will fail to deploy. Likewise, any installation that is expecting (Jaeger) tracing data to be exported will see a behavior change that may or may not impact any external monitoring solutions. + +All other subsystems should be unaffected by this removal. + +=== Default Configuration + +The default configuration for MicroProfile configurations will be altered to remove the MicroProfile OpenTracing subsystem. Likewise, the relevant Galleon layers will also have the extension removed from their definitions. + +=== Importing Existing Configuration + +With the change of the subsystem to admin-only, existing configurations will fail to start in normal standalone modes. Such configurations will need to be started in admin mode to allow for the altering of the configuration, or the extension and subsystem will need to be removed manually. + +=== Deployments + +Deployments that use MicroProfile OpenTracing APIs directly will fail to deploy. These applications will need to modified to remove this dependency. + +Applications that do not use the affected API directly should deploy and run without modification or issue. + +Any deployment environments that are expecting implicit tracing information to be exported will be affected. Since OpenTracing and OpenTelemetry differ in the means by which traces are exported, and the trace data itself differs, administrators will need to make the appropriate adjustments to both the configuration of WildFly, as well as any systems are consuming the exported trace data. + +=== Interoperability + +See the section of above for a discussion of trace data formats and exports. + +== Test Plan + +Tests will be added to verify that MicroProfile OpenTracing has been removed, and parsing tests will be modified as needed to verify that the system can continue to read/parse the subsystem config during migration. + +Tests for MP OpenTracing under `testsuite/integration/microprofile`, `testsuite/integration/microprofile-tck`, https://github.com/jboss-eap-qe/eap-microprofile-test-suite/tree/master/microprofile-opentracing will be removed. + +== Community Documentation + +Any documentation related to MicroProfile OpenTracing will be removed as part of the feature implementation PR. + +== Release Note Content + +MicroProfile OpenTracing has been removed by the MicroProfile Working Group, so this feature has been removed from WildFly as well. Applications that depend on OpenTracing APIs will no longer deploy and will need to be migrated to another tracing solution such as OpenTelemetry. From 97f7479397c41df708de7ad42dbe8cefe42596a2 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Tue, 21 Mar 2023 14:00:06 -0500 Subject: [PATCH 2/3] Update WFLY-17510-remove-microprofile-opentracing.adoc --- microprofile/WFLY-17510-remove-microprofile-opentracing.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc b/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc index ddc904e00..70691dc1f 100644 --- a/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc +++ b/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc @@ -1,4 +1,4 @@ -= WFLY-17510: Remove MicroProfile OpenTracing += WFLY-17510: Convert MicroProfile OpenTracing subsystem to Admin-Only Mode :author: Jason Lee :email: jasondlee@redhat.com :toc: left @@ -19,6 +19,8 @@ WildFly has long offered MicroProfile OpenTracing as part of its overall MicroPr === Related Issues * https://issues.redhat.com/browse/WFLY-17156[WFLY-17156] +* https://issues.redhat.com/browse/WFLY-17679[WFLY-17679] +* https://issues.redhat.com/browse/EAP7-2002[EAP7-1975] * https://issues.redhat.com/browse/EAP7-2002[EAP7-2002] === Dev Contacts From cac83bb77a7e1a1348b98d31df9918b1c87f1d80 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Tue, 21 Mar 2023 17:23:34 -0500 Subject: [PATCH 3/3] Update WFLY-17510-remove-microprofile-opentracing.adoc Add layer information to the proposal --- microprofile/WFLY-17510-remove-microprofile-opentracing.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc b/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc index 70691dc1f..2aff0bcb2 100644 --- a/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc +++ b/microprofile/WFLY-17510-remove-microprofile-opentracing.adoc @@ -72,7 +72,7 @@ All other subsystems should be unaffected by this removal. === Default Configuration -The default configuration for MicroProfile configurations will be altered to remove the MicroProfile OpenTracing subsystem. Likewise, the relevant Galleon layers will also have the extension removed from their definitions. +The default configuration for MicroProfile configurations will be altered to remove the MicroProfile OpenTracing subsystem. Likewise, the `micropfile-opentracing` layer will be removed, and the references to it in the layers `microprofile-plaform` and `observability` will be removed. === Importing Existing Configuration