Skip to content

Conversation

@lbloder
Copy link
Collaborator

@lbloder lbloder commented Nov 3, 2025

📜 Description

Upgrade to async-profiler 4.2. This allows us to remove all vendored code from the converter and also adds support for jdk 23+.

💡 Motivation and Context

💚 How did you test it?

📝 Checklist

  • I added GH Issue ID & Linear ID
  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

🔮 Next steps

@lbloder
Copy link
Collaborator Author

lbloder commented Nov 3, 2025

@sentry review

@lbloder
Copy link
Collaborator Author

lbloder commented Nov 3, 2025

@cursor review

cursor[bot]

This comment was marked as outdated.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 3, 2025

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 349.94 ms 442.94 ms 93.00 ms
Size 1.58 MiB 2.12 MiB 551.57 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
9fbb112 401.87 ms 515.87 ms 114.00 ms
b3d8889 371.84 ms 447.49 ms 75.65 ms
d217708 411.22 ms 430.86 ms 19.63 ms
27d7cf8 397.90 ms 498.65 ms 100.75 ms
fcec2f2 311.35 ms 384.94 ms 73.59 ms
ee747ae 358.21 ms 389.41 ms 31.20 ms
ee747ae 554.98 ms 611.50 ms 56.52 ms
b77456b 393.26 ms 441.10 ms 47.84 ms
27d7cf8 309.43 ms 364.27 ms 54.85 ms
b3d8889 371.33 ms 426.24 ms 54.92 ms

App size

Revision Plain With Sentry Diff
9fbb112 1.58 MiB 2.11 MiB 539.18 KiB
b3d8889 1.58 MiB 2.10 MiB 535.07 KiB
d217708 1.58 MiB 2.10 MiB 532.97 KiB
27d7cf8 1.58 MiB 2.12 MiB 549.42 KiB
fcec2f2 1.58 MiB 2.12 MiB 551.51 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
b77456b 1.58 MiB 2.12 MiB 548.11 KiB
27d7cf8 1.58 MiB 2.12 MiB 549.42 KiB
b3d8889 1.58 MiB 2.10 MiB 535.07 KiB

Previous results on branch: feat/profiling-remove-vendored-code

Startup times

Revision Plain With Sentry Diff
04a034e 325.24 ms 415.40 ms 90.16 ms
c4e9681 339.70 ms 445.26 ms 105.56 ms
685ed62 317.43 ms 363.16 ms 45.74 ms

App size

Revision Plain With Sentry Diff
04a034e 1.58 MiB 2.12 MiB 551.51 KiB
c4e9681 1.58 MiB 2.12 MiB 551.56 KiB
685ed62 1.58 MiB 2.12 MiB 551.51 KiB

@lbloder lbloder changed the title remove vendored code and upgrade to async profiler 4.2 Remove vendored code and upgrade to async profiler 4.2 Nov 3, 2025
@lbloder lbloder marked this pull request as ready for review November 3, 2025 13:28
Copy link
Member

@adinauer adinauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Left some minor comments.


### Features

- Remove vendored code and upgrade to async profiler 4.2 ([#4856](https://github.com/getsentry/sentry-java/pull/4856))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should mention that this means compatibility with newer JDK versions.

"start,jfr,event=wall,nobatch,interval=%s,file=%s",
profilingIntervalMicros, filename);

logger.log(SentryLevel.INFO, command);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to remove this again? Or lower log level? I imagine it's quite spammy.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, yes, oversight on my part. Will remove this

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.

Support Java 23+ in profiler Remove vendored Code from async-profiler

3 participants