Document TODOs in check-javaagent-suppression-keys.sh with detailed explanations #14880
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.
Context
The
check-javaagent-suppression-keys.sh
script verifies that instrumentation module names are synchronized with their directory names, following the pattern where the main instrumentation name should match the gradle module name (minus version). This ensures consistency across the codebase.However, some instrumentation modules intentionally deviate from this standard pattern for valid architectural reasons. The original TODO comments marking these exceptions were brief (e.g., "TODO these need some work still") and didn't explain why these modules are exceptions or what future work might be needed.
Changes
This PR enhances all five TODO comments in the script with detailed explanations that document:
JAX-RS modules - Use "jaxrs" as the main instrumentation name instead of module names, providing multiple alternative names (jaxrs, jaxrs-X.Y, framework-name) for flexibility. This allows users to disable all JAX-RS instrumentation with a single configuration key.
JAX-WS modules - Similar to JAX-RS, use "jaxws" as the main instrumentation name for consistency and flexibility.
JDBC modules - The jdbc directory contains two separate InstrumentationModules (JdbcInstrumentationModule and DataSourceInstrumentationModule). The TODO suggests splitting jdbc-datasource into a separate instrumentation directory to follow the standard pattern.
Kafka-clients modules - The kafka-clients-X.Y directory contains two InstrumentationModules (KafkaClientsInstrumentationModule and KafkaMetricsInstrumentationModule). The TODO suggests splitting kafka-clients-metrics into a separate directory.
Quarkus-resteasy-reactive - Should be versioned in the directory name (e.g., quarkus-resteasy-reactive-3.0) to follow the standard pattern where the directory name matches the versioned instrumentation name.
Benefits
Fixes #13246
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.