Time-series Storage

Sentry provides a service to store time-series data. Primarily this is used to display aggregate information for events and projects, as well as calculating (in real-time) the rates of events.

This is the only backend that works 100% correctly:

Copied
SENTRY_TSDB = 'sentry.tsdb.redissnuba.RedisSnubaTSDB'

This backend talks to Snuba for event ingestion related metrics, and to Redis for everything else. Snuba needs to have its own outcomes consumer running, which is currently not part of devservices.

The wrapped Redis TSDB can be configured like so (see further down for Redis options):

Copied
SENTRY_TSDB_OPTIONS = {
    'redis': ... # options dict for RedisTSDB here
}

As its name implies, all TSDB data will be dropped on write and substituted with zeroes on read:

Copied
SENTRY_TSDB = 'sentry.tsdb.dummy.DummyTSDB'

The "bare" Redis backend reads and writes all data to Redis. Various columns related to event ingestion (Organization Stats) will show zeroed out data, because that data is only available in Snuba.

Copied
SENTRY_TSDB = 'sentry.tsdb.redis.RedisTSDB'

By default, this will use the default named Redis cluster. To use a different cluster, provide the cluster option, as such:

Copied
SENTRY_TSDB_OPTIONS = {
    'cluster': 'tsdb',
}
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").