getsentry / getsentry/sentry-java

Micrometer OpenTelemetry support

未關閉
#3,474 18 則留言 0 個 reaction 已指派 1 人 已被 @adinauer 認領 在 GitHub 檢視
Feature Java Spans
主要語言
Kotlin
星號
1.4k
分支
478
平均合併
3 天 4 小時
30 天內合併 PR
72

描述

### Integration

sentry-spring-jakarta

### Java Version

17

### Version

7.8.0

### Steps to Reproduce

While profiling some reactive code using project Reactor with automatic context propagation and Sentry, I noticed quite a lot of time is spent instantiating `SecureRandom` objects as the `SentryReactorThreadLocalAccessor.getValue` call will always cause a new `TracesSampler` thus a new `SecureRandom` object to be created when `hub == null || hub instanceof NoOpHub` in `Sentry#getCurrentHub`.

SecureRandom objects are said to be thread-safe by the javadoc, would it be possible/safe to just reuse the same instance? Or reuse the TracesSampler? Or avoid cloning the NoOpHub alltogether..?

### Expected Result

Not so much time spent creating SecureRandom objects

### Actual Result

Screenshot of profiling results:

Screenshot 2024-06-11 at 21 17 17

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。