Skip to content

JVM Profiling Follow ups #4778

@adinauer

Description

@adinauer

Description

We have released JVM Profiling in https://github.com/getsentry/sentry-java/releases/tag/8.23.0

There are still tasks /improvements we could do:

  • Docs
  • Release registry entries
  • Add module to .craft.yml
  • Verify caching behaviour of ServiceLoader is not an issue (i.e. does not cause a large overhead on each chunk) - otherwise cache
  • Remove / reduce vendored code and replace what's possible with JFR converter, also see Expose a dictionary of javaThreads from JfrReader async-profiler/async-profiler#1525
  • Upgrade async-profiler to 4.1+ to support newer Java Versions (23+); there are issues with a Converter dictionary
  • Log a specific message why Profiling isn't enabled if the wrong config property for setting sample rate is used (profiles-sample-rate) on JVM
  • Enable / showcase Profiling in (more of) our samples
  • Allow configuring profilingTracesHz via sentry.properties (ExternalOptions)
  • Add a .cursor rules file to explain how Profiling works
  • We could reduce profile chunk size / duration based on thread count of the application. This could help in case profiles are dropped due to being too large. Thread.activeCount() or ThreadMXBean (more accurate)
  • Continuous Profiling could upload JFR files #4768 (we should wait for feedback first, maybe we don't need this)
  • JVM Profiling Windows support #4779

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions