getsentry / getsentry/sentry-java

JVM Profiling Follow ups

オープン
#4,778 コメント 14 件 リアクション 0 件 担当者 1 名 @lbloder が担当を希望しています GitHub で見る
Java Profiles Task
主要言語
Kotlin
スター
1.4k
フォーク
478
平均マージ
2日 23時間
マージ済み PR(30日)
67

説明

### 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:

- [X] Docs ([https://github.com/getsentry/sentry-java/issues/4909]())
- [X] Release registry entries
- [X] Add module to `.craft.yml`
- [X] Verify caching behaviour of `ServiceLoader` is not an issue (i.e. does not cause a large overhead on each chunk) - otherwise cache (obsolete with [getsentry/sentry-java#4815]())
- [X] Remove / reduce vendored code and replace what's possible with [JFR converter](), also see [https://github.com/async-profiler/async-profiler/issues/1525]() getsentry/sentry-java#4852
- [X] Upgrade async-profiler to 4.1+ to support newer Java Versions (23+); there are issues with a Converter dictionary (getsentry/sentry-java#4853)
- [ ] 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
- [X] Enable / showcase Profiling in (more of) our samples getsentry/sentry-java#4941
- [ ] Allow configuring `profilingTracesHz` via `sentry.properties` (`ExternalOptions`)
- [X] Add a `.cursor` rules file to explain how Profiling works getsentry/sentry-java#5034
- [X] Fix an issue where the profilerId would not be propagated to SentryTracer correctly when used with OTEL Agent (getsentry/sentry-java#4854)
- [X] Fix an issue with profiler initialization when using spring or spring-boot in OTEL Agent auto-init mode (getsentry/sentry-java#4855)
- [ ] Add profiling option to build plugins:
- [ ] Gradle
- [ ] Maven ([https://github.com/getsentry/sentry-maven-plugin/issues/221]())

## Maybe later

- [ ] 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)
- [ ] [https://github.com/getsentry/sentry-java/issues/4768]() (we should wait for feedback first, maybe we don't need this)
- [ ] [https://github.com/getsentry/sentry-java/issues/4779]()
- [ ] Detect that `async-profiler` is the (major) version we expect on startup, crash otherwise

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。