getsentry / getsentry/sentry-java

JVM Profiling Follow ups

Đang mở
#4,778 14 bình luận 0 reaction 1 người được giao Được @lbloder nhận Xem trên GitHub
Java Profiles Task
Ngôn ngữ chính
Kotlin
Star
1.4k
Fork
478
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
67

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.