Skip to content

feat(spring): [Cache Tracing 1] Add SentryCacheWrapper and SentryCacheManagerWrapper#5162

Draft
adinauer wants to merge 3 commits intofeat/cache-tracingfrom
feat/cache-tracing-wrappers
Draft

feat(spring): [Cache Tracing 1] Add SentryCacheWrapper and SentryCacheManagerWrapper#5162
adinauer wants to merge 3 commits intofeat/cache-tracingfrom
feat/cache-tracing-wrappers

Conversation

@adinauer
Copy link
Member

@adinauer adinauer commented Mar 5, 2026

PR Stack (Cache Tracing)

  • #5162 — Add SentryCacheWrapper and SentryCacheManagerWrapper
  • #5163 — Add enableCacheTracing option
  • #5164 — Add BeanPostProcessor and auto-configuration
  • #5167 — Add cache tracing e2e sample

📜 Description

Adds SentryCacheWrapper and SentryCacheManagerWrapper to the sentry-spring-7 module. These wrapper classes instrument Spring's Cache and CacheManager interfaces to produce cache.get, cache.put, cache.remove, and cache.flush spans per the Sentry cache module spec.

Also adds CACHE_HIT_KEY and CACHE_KEY_KEY constants to SpanDataConvention.

💚 How did you test it?

  • Unit tests for SentryCacheWrapper covering all cache operations, hit/miss detection, error handling, and span data assertions
  • Unit tests for SentryCacheManagerWrapper covering cache wrapping, null passthrough, and getCacheNames delegation

📝 Checklist

  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • No breaking change or entry added to the changelog.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

Semver Impact of This PR

🟡 Minor (new features)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

  • (spring) [Cache Tracing 1] Add SentryCacheWrapper and SentryCacheManagerWrapper by adinauer in #5162

Bug Fixes 🐛

  • (screenshot) Add dontwarn replay rules to sentry-android-core by romtsn in #5153
  • (sessions) Finalize previous session even when auto session tracking is disabled by romtsn in #5154

🤖 This preview updates automatically when you update the PR.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

Fails
🚫 Please consider adding a changelog entry for the next release.
Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased

### Features

- [Cache Tracing 1] Add SentryCacheWrapper and SentryCacheManagerWrapper ([#5162](https://github.com/getsentry/sentry-java/pull/5162))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description or adding a skip-changelog label.

Generated by 🚫 dangerJS against 6d6f5eb

@adinauer
Copy link
Member Author

adinauer commented Mar 5, 2026

PR Stack (Cache Tracing)

  • #5161Collection PR (full diff → main)
  • #5162 — Add SentryCacheWrapper and SentryCacheManagerWrapper
  • #5163 — Add enableCacheTracing option
  • #5164 — Add BeanPostProcessor and auto-configuration

@adinauer adinauer mentioned this pull request Mar 5, 2026
3 tasks
@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 313.15 ms 367.84 ms 54.69 ms
Size 0 B 0 B 0 B

Previous results on branch: feat/cache-tracing-wrappers

Startup times

Revision Plain With Sentry Diff
3e5f591 317.48 ms 356.80 ms 39.32 ms
2876c40 339.24 ms 405.65 ms 66.41 ms

App size

Revision Plain With Sentry Diff
3e5f591 0 B 0 B 0 B
2876c40 1.58 MiB 2.29 MiB 723.29 KiB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant