OpenFeature

Learn how to use Sentry with OpenFeature.

The OpenFeature integration tracks feature flag evaluations produced by the OpenFeature SDK. This SDK is supported by a broad range of feature flagging providers. For the full list, visit OpenFeature's ecosystem page.

The flag evaluations are held in memory and are sent to Sentry on error and transaction events. At the moment, we only support boolean flag evaluations.

To install use:

Copied
implementation 'io.sentry:sentry-openfeature:8.27.1'

For other dependency managers, check out the central Maven repository.

Before using this integration, you need to install and instrument the OpenFeature Java SDK in your app. Learn more by reading OpenFeature's SDK docs and provider docs.

Add SentryOpenFeatureHook to your OpenFeature setup:

Copied
import dev.openfeature.sdk.OpenFeatureAPI;
import io.sentry.openfeature.SentryOpenFeatureHook;

OpenFeatureAPI api = OpenFeatureAPI.getInstance();
api.addHooks(new SentryOpenFeatureHook());

The integration is tested by evaluating a feature flag using your OpenFeature SDK before capturing an exception:

Copied
import dev.openfeature.sdk.OpenFeatureAPI;
import io.sentry.Sentry;

OpenFeatureAPI api = OpenFeatureAPI.getInstance();
var client = api.getClient();

boolean flagValue = client.getBooleanValue("test-flag", false);

Sentry.captureException(new Exception("Something went wrong!"));

Open your Sentry project and confirm that your error event has recorded the feature flag "test-flag" and its value "false".

Was this helpful?
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").