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 in the event an error occurs, sent to Sentry for review and analysis. At the moment, we only support boolean flag evaluations.

Import names: Sentry.launchDarklyIntegration and Sentry.buildLaunchDarklyFlagUsedHandler

Install @sentry/browser and launchdarkly-js-client-sdk from npm.

Copied
import * as Sentry from '@sentry/browser';
import * as LaunchDarkly from 'launchdarkly-js-client-sdk';

Sentry.init({
  dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
  integrations: [Sentry.launchDarklyIntegration()]
});

const ldClient = LaunchDarkly.initialize(
    'my-client-ID',
    {kind: 'user', key: 'my-user-context-key'},
    {inspectors: [Sentry.buildLaunchDarklyFlagUsedHandler()]}
);

Learn more about the LaunchDarkly SDK. At the moment, we aren't officially supporting framework-specific LaunchDarkly SDKs. However, you may reuse the setup code for React and client-side Node.js.

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

Copied
import * as Sentry from '@sentry/browser';
import * as LaunchDarkly from 'launchdarkly-js-client-sdk';

// Evaluate a flag with a default value, with the ldClient from the Configure step.
// You may have to wait for your client to initialize before doing this.
ldClient?.variation("hello", false);

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

Visit the Sentry website and confirm that your error event has recorded the feature flag "hello" and its value "false".

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