Self-Serve Feature Flags Integration
Learn how to attach custom feature flag data to Sentry error events.
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. It is only available from a package-based install (e.g. npm
or yarn
).
If you are using an external feature flag provider, refer to the supported list before setting up this integration.
The Feature Flags integration allows you to manually track feature flag evaluations through an API. These evaluations are held in memory and sent to Sentry when an error occurs. At the moment, we only support boolean flag evaluations.
Import names: Sentry.featureFlagsIntegration
and type Sentry.FeatureFlagsIntegration
import * as Sentry from '@sentry/react';
Sentry.init({
dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0',
integrations: [Sentry.featureFlagsIntegration()]
});
const flagsIntegration = Sentry.getClient()?
.getIntegrationByName<Sentry.FeatureFlagsIntegration>('FeatureFlags');
if (flagsIntegration) {
flagsIntegration.addFeatureFlag('test-flag', false);
} else {
// Something went wrong, check your DSN and/or integrations
}
Sentry.captureException(new Error('Something went wrong!'));
Visit the Sentry website and confirm that your error event has recorded the feature flag "test-flag" 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").