Code review sweep (run 25089213030)#18398
Merged
Merged
Conversation
Automated code review of instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagent.
Automated code review of instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library.
Automated code review of instrumentation/spring/spring-webmvc/spring-webmvc-common/javaagent.
Automated code review of instrumentation/spring/spring-webmvc/spring-webmvc-common/testing.
Automated code review of instrumentation/spring/spring-ws-2.0/javaagent.
Automated code review of instrumentation/spymemcached-2.12/javaagent.
Automated code review of instrumentation/struts/struts-2.3/javaagent.
trask
approved these changes
Apr 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Automated code review sweep walked the following modules in order
and stopped after accumulating at least 10 modified files:
spring-webmvc-6.0:javaagentspring-webmvc-6.0:libraryspring-webmvc-common:javaagentspring-webmvc-common:testingspring-ws-2.0:javaagentspring-ws-2.0:testingstarters:spring-boot-starterstarters:zipkin-spring-boot-starterspymemcached-2.12:javaagentstruts-2.3:javaagentModule:
spring-webmvc-6.0:javaagentModule path:
instrumentation/spring/spring-webmvc/spring-webmvc-6.0/javaagentSummary
Applied safe repository-guideline fixes in
spring-webmvc-6.0javaagentand committed them.Applied Changes
Build
File:
build.gradle.kts:51Change: Added `metadataConfig` for the default test configuration and expanded `testExperimental` metadata to include the always-enabled common controller and view telemetry flags.
Reason: `gradle-conventions.md` requires `metadataConfig` to describe non-default JVM/system configuration when `collectMetadata` is present, including custom test tasks and shared `Test` task configuration.
Nullability
File:
DispatcherServletInstrumentation.java:60Change: Annotated the ByteBuddy `@Advice.FieldValue("handlerMappings")` parameter as `@Nullable`.
Reason: Repository nullability rules require parameters to be annotated `@Nullable` when a concrete runtime source can provide `null`; the advised `handlerMappings` field is explicitly guarded for `null`.
Module:
spring-webmvc-6.0:libraryModule path:
instrumentation/spring/spring-webmvc/spring-webmvc-6.0/librarySummary
Applied one safe repository-guideline fix and committed it for
spring-webmvc-6.0library.Applied Changes
Style
File:
TestWebSpringBootApp.java:76Change: Renamed test controller handler methods from underscore style to lower camel case: `queryParam`, `captureHeaders`, `pathParam`, and `indexedChild`.
Reason: Repository style follows Google Java Style, which uses lower-camel method names; this test-only rename is deterministic and preserves Spring `@RequestMapping` behavior.
Module:
spring-webmvc-common:javaagentModule path:
instrumentation/spring/spring-webmvc/spring-webmvc-common/javaagentSummary
Applied and committed one safe review fix for
spring-webmvc-commonjavaagent.Applied Changes
Style
File:
HandlerCodeAttributesGetter.java:20Change: Removed unnecessary `@Nullable` annotations from non-null `getCodeClass()` and `getMethodName()` overrides, and renamed the unused `ClassNotFoundException` catch parameter to `ignored`.
Reason: Repository nullability guidance says return types should be annotated `@Nullable` only when the implementation can return `null`; catch-variable naming guidance says intentionally unused catch parameters should use `ignored`.
Module:
spring-webmvc-common:testingModule path:
instrumentation/spring/spring-webmvc/spring-webmvc-common/testingSummary
Applied and committed one safe repository-guideline fix in
spring-webmvc-common/testing.Applied Changes
Testing
File:
AbstractSpringBootBasedTest.java:58Change: Replaced the `EXPERIMENTAL_SPAN_CONFIG` string constant plus repeated `Boolean.getBoolean(...)` lookup with a module-level `EXPERIMENTAL_ATTRIBUTES` boolean constant.
Reason: `testing-general-patterns.md` requires experimental test flags to be read through a shared per-module `EXPERIMENTAL_ATTRIBUTES` constant instead of duplicating property-name lookups at assertion sites.
Module:
spring-ws-2.0:javaagentModule path:
instrumentation/spring/spring-ws-2.0/javaagentSummary
Applied safe repository-guideline fixes for
spring-ws-2.0javaagent internals and committed them in7ec3ad72.Applied Changes
Style
File:
SpringWsCodeAttributesGetter.java:10Change: Changed `SpringWsCodeAttributesGetter` from `public` to package-private.
Reason: The style guide requires minimal necessary visibility; this javaagent helper is internal and only used within its package.
File:
SpringWsRequest.java:11Change: Changed `SpringWsRequest` and its factory/accessor methods from `public` to package-private.
Reason: The style guide requires minimal necessary visibility; this javaagent value type is internal and only used within its package.
Module:
spring-ws-2.0:testingModule path:
instrumentation/spring/spring-ws-2.0/testingSummary
No safe repository-guideline fixes were applied under
instrumentation/spring/spring-ws-2.0/testing; the tracked files already match the relevant testing-module, Gradle, style, andmetadata.yamlguidance.Applied Changes
No safe automated changes were applied.
Module:
starters:spring-boot-starterModule path:
instrumentation/spring/starters/spring-boot-starterSummary
No safe repository-guideline fixes were applied; reviewed the scoped starter files and found no deterministic in-scope issue to change.
Applied Changes
No safe automated changes were applied.
Module:
starters:zipkin-spring-boot-starterModule path:
instrumentation/spring/starters/zipkin-spring-boot-starterSummary
No safe repository-guideline fixes were found in reviewable files under
instrumentation/spring/starters/zipkin-spring-boot-starter.README.mdwas skipped per review rules for Markdown files, andbuild.gradle.ktsalready follows the applicable Gradle conventions reviewed.Applied Changes
No safe automated changes were applied.
Module:
spymemcached-2.12:javaagentModule path:
instrumentation/spymemcached-2.12/javaagentSummary
Applied safe repository-guideline fixes under
instrumentation/spymemcached-2.12/javaagentand committed them in5175810a.Applied Changes
Style
File:
MemcachedClientInstrumentation.java:170Change: Annotated `Handler.create(...)` and its implementations with `@Nullable`.
Reason: Repository nullability rules require `@Nullable` on return types that can actually return `null`; these factories delegate to `CompletionListener.create(...)` methods that return `null` when `instrumenter().shouldStart(...)` is false.
Testing
File:
SpymemcachedTest.java:78Change: Renamed the experimental flag constant to `EXPERIMENTAL_ATTRIBUTES` and replaced repeated `EXPERIMENTAL_ATTRIBUTES ? value : null` assertions with an `experimental(...)` helper.
Reason: `testing-experimental-flags.md` recommends a per-class `EXPERIMENTAL_ATTRIBUTES` constant and a single-arg `experimental(value)` helper when several assertions gate experimental attributes with `null` for absent values.
Module:
struts-2.3:javaagentModule path:
instrumentation/struts/struts-2.3/javaagentSummary
Applied and committed two safe review fixes for
struts-2.3javaagent metadata and Gradle task configuration.Applied Changes
Config
File:
metadata.yaml:11Change: Added `declarative_name: java.common.controller_telemetry/development.enabled` for `otel.instrumentation.common.experimental.controller-telemetry.enabled`.
Reason: `metadata-yaml-format.md` requires each configuration entry to include a matching `declarative_name`; the `/development` marker matches the `experimental` flat property segment.
Build
File:
build.gradle.kts:31Change: Changed `tasks.withType<Test>().configureEach` to `tasks.test` for the module test configuration.
Reason: `gradle-conventions.md` says single-test-task modules should use `tasks.test`; implicit `latestDepTest` does not justify `withType<Test>().configureEach`.
Unresolved Items
File:
build.gradle.ktsReason: The experimental `otel.instrumentation.common.experimental.controller-telemetry.enabled` flag is still enabled on the default `test` task. Review instructions say not to auto-fix missing `testExperimental` task wiring; the next action is to decide how to split or gate controller-span assertions before moving this flag to a dedicated `testExperimental` task.
Download code review diagnostics