getsentry / getsentry/sentry-java

Support dynamic error sampling

Abierto
#3,586 0 comentarios 1 reacción 0 asignados Ver en GitHub
Android Errors Improvement se-ds
Lenguaje dominante
Kotlin
Estrellas
1.4k
Forks
478
Merge medio
2 d 23 h
PR fusionados (30 d)
67

Descripción

### 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);
}
}
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.