getsentry / getsentry/sentry-java

Support dynamic error sampling

未关闭
#3,586 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
Android Errors Improvement se-ds
主要语言
Kotlin
星标
1.4k
派生
478
平均合并
2 天 23 小时
30 天内合并 PR
67

描述

### Description

Just like `TracesSamplerCallback`, we want to have a callback capable sampling errors. This feature already exists in our [Python SDK](https://docs.sentry.io/platforms/python/configuration/sampling/#dynamically-sampling-error-events).

```Python
sentry_sdk.init(
# ...

error_sampler=my_sampler,
)
```

Right now the workaround would be to keep hold of the options and change the `sampleRate` after the SDK has been initialized.
This should work just fine, as `SentryClient` reads out the sample rate every time, but is still discouraged, as we don't officially support changing options on the fly.

```Java
final AtomicReference optionsRef = new AtomicReference<>();
Sentry.init(new Sentry.OptionsConfiguration() {
@Override
public void configure(@NotNull SentryOptions options) {
options.setDsn("...");
options.setSampleRate(1.0); // some sane default
// ...
optionsRef.set(options);
}
});

// later, dynamically update the sampleRate
private void onRemoteConfigChanged(final @NotNull RemoteConfig remoteConfig){
final @Nullable SentryOptions options = optionsRef.get();
if (options != null) {
options.setSampleRate(remoteConfig.sampleRate);
}
}
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。