LaunchDarkly

Learn how to use Sentry with LaunchDarkly.

The LaunchDarkly integration tracks feature flag evaluations produced by the LaunchDarkly SDK. These evaluations are held in memory and are sent to Sentry on error and transaction events. At the moment, we only support boolean flag evaluations.

Copied
implementation 'io.sentry:sentry-launchdarkly-android:8.27.0'

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

Before using this integration, you need to install and instrument the LaunchDarkly Android SDK in your app.

Add SentryLaunchDarklyAndroidHook to your LaunchDarkly setup:

Copied
import com.launchdarkly.sdk.LDContext;
import com.launchdarkly.sdk.android.Components;
import com.launchdarkly.sdk.android.LDClient;
import com.launchdarkly.sdk.android.LDConfig;
import io.sentry.launchdarkly.android.SentryLaunchDarklyAndroidHook;
LDConfig config = new LDConfig.Builder(LDConfig.Builder.AutoEnvAttributes.Enabled) .mobileKey("mobile-key") .hooks(Components.hooks()
.setHooks(Arrays.asList(new SentryLaunchDarklyAndroidHook())))
.build(); LDContext context = LDContext.create("context-key-123abc"); LDClient launchDarklyClient = LDClient.init(this.getApplication(), config, context, 0);

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

Copied
import io.sentry.Sentry;

boolean flagValue = launchDarklyClient.boolVariation("test-flag", false);

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

Visit 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").