LaunchDarkly
Learn how to use Sentry with LaunchDarkly.
Currently in Beta
Feature flag change tracking and feature flag evaluation tracking is currently in open beta.
This integration only works inside a browser environment.
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 your platform's Sentry SDK and launchdarkly-js-client-sdk
from npm.
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.
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".
Next Steps
- Track feature flag evaluations in other parts of your codebase. If needed, you can set up evaluation tracking for more than one SDK. Read the docs to learn more.
- Set up your change tracking webhook. In order to take full advantage of the feature flag capabilities Sentry offers there is an additional setup step needed. Your feature flag provider needs to notify Sentry when a feature flag definition has changed. A Sentry webhook URL can be registered with your provider. Learn how.
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").