diff --git a/docs/platforms/python/feature-flags/index.mdx b/docs/platforms/python/feature-flags/index.mdx index 04f91b1f01e2d..333255a11a6b4 100644 --- a/docs/platforms/python/feature-flags/index.mdx +++ b/docs/platforms/python/feature-flags/index.mdx @@ -17,6 +17,7 @@ Evaluation tracking typically requires enabling an SDK integration. Integrations - [Generic (API)](/platforms/python/feature-flags/#generic-api) - [LaunchDarkly](/platforms/python/integrations/launchdarkly/) - [OpenFeature](/platforms/python/integrations/openfeature/) +- [Statsig](/platforms/python/integrations/statsig/) - [Unleash](/platforms/python/integrations/unleash/) ### Generic API diff --git a/docs/platforms/python/integrations/index.mdx b/docs/platforms/python/integrations/index.mdx index 7618d9e63acec..5c95936072b49 100644 --- a/docs/platforms/python/integrations/index.mdx +++ b/docs/platforms/python/integrations/index.mdx @@ -61,11 +61,12 @@ The Sentry SDK uses integrations to hook into the functionality of popular libra ### Feature Flags -| | **Auto-enabled** | -| ----------------------------------------------------------------------------------------------------------------------- | :--------------: | -| | | -| | | -| | | +| | **Auto-enabled** | +| ------------------------------------------------------------------------------------------------------------------ | :--------------: | +| | | +| | | +| | | +| | | ### Cloud Computing diff --git a/docs/platforms/python/integrations/statsig/index.mdx b/docs/platforms/python/integrations/statsig/index.mdx new file mode 100644 index 0000000000000..dd85fa8074475 --- /dev/null +++ b/docs/platforms/python/integrations/statsig/index.mdx @@ -0,0 +1,65 @@ +--- +title: Statsig +description: "Learn how to use Sentry with Statsig." +--- + + + +The [Statsig](https://www.statsig.com/) integration tracks feature flag evaluations produced by the Statsig Python Server SDK. These evaluations are held in memory and sent to Sentry for review and analysis if an error occurs. **At the moment, we only support boolean flag evaluations from Statsig's `check_gate` function.** Learn more about [Statsig feature gates](https://docs.statsig.com/feature-flags/working-with/). + +## Install + +Install `sentry-sdk` from PyPI with the `statsig` extra. + +```bash +pip install --upgrade 'sentry-sdk[statsig]' +``` + +## Configure + +Add `StatsigIntegration` to your `integrations` list: + +```python +import sentry_sdk +from sentry_sdk.integrations.statsig import StatsigIntegration + +sentry_sdk.init( + dsn="___PUBLIC_DSN___", + # Add data like request headers and IP for users, if applicable; + # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info + send_default_pii=True, + integrations=[StatsigIntegration()], +) +``` + +For more information on how to use Statsig, read Statsig's [Python reference](https://docs.statsig.com/server/pythonSDK) and [quickstart guide](https://docs.statsig.com/guides/first-feature). + +## Verify + +Test the integration by evaluating a feature flag using your Statsig SDK before capturing an exception. + +```python {tabTitle: Python, using is_enabled} +import sentry_sdk +from statsig.statsig_user import StatsigUser +from statsig import statsig + +import time + +statsig.initialize("server-secret-key") +while not statsig.is_initialized(): + time.sleep(0.2) + +result = statsig.check_gate(StatsigUser("my-user-id"), "my-feature-gate") +sentry_sdk.capture_exception(Exception("Something went wrong!")) +``` + +Visit the [Sentry website](https://sentry.io/issues/) and confirm that your error +event has recorded the feature flag "my-feature-gate", and its value is equal to `result`. + +## Supported Versions + +- statsig >= 0.55.3 +- sentry-sdk >= 2.22.0 +- python >= 3.7 + +