Statsig

Learn how to use Sentry with Statsig.

The Statsig 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.

Install sentry-sdk from PyPI with the statsig extra.

Copied
pip install --upgrade 'sentry-sdk[statsig]'

Add StatsigIntegration to your integrations list:

Copied
import sentry_sdk
from sentry_sdk.integrations.statsig import StatsigIntegration

sentry_sdk.init(
    dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
    # 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 and quickstart guide.

Test the integration by evaluating a feature flag using your Statsig SDK before capturing an exception.

Copied
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 and confirm that your error event has recorded the feature flag "my-feature-gate", and its value is equal to result.

  • statsig >= 0.55.3
  • sentry-sdk >= 2.22.0
  • python >= 3.7
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").