Repository navigation
Avoid repeated controller attribute-key allocation in Spring MVC - #12547
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
More details
The cache uses the same runtime handler class and keeps the same attribute keys for synchronous and asynchronous requests.
🤖 Datadog Autotest · Commit 6af3f1d · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
dff0056
into
master
What Does This Do
Cache Spring MVC controller span and continuation attribute keys per runtime controller class, avoiding repeated string construction during synchronous and async request handling.
Both MVC decorators own a ClassValue, using the existing immutable
Pairtype. No additional helper class or injection entries are needed. Key contents, controller-class selection, span lifecycle, and cached UTF-8 span names are preserved.Temporary JMH benchmark outside the repository, using the final implementation:
Simulated one controller class, warmed caches, and a prepopulated
ConcurrentHashMapwith 65- and 74-character keys.Results isolate key handling, not whole-request latency. Savings depend on key length, JVM behavior, and servlet implementation.
Motivation
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]