Dogfooding Bugsink
Dogfooding is the practice of a company using its own product. If we run Bugsink for you, monitoring the service itself is part of our job. If you’re self-hosting Bugsink, you might want to use Bugsink to monitor Bugsink itself. This way you can provide feedback to us about the product and also ensure that you’re getting the most out of Bugsink. There are basically two ways to do this:
1. Using your own instance
You can just point your Bugsink instance to itself.
- Advantages: You’ll have full control over your data and will not have to worry about privacy issues.
- Disadvantages: In the case of a catastrophic failure, there may not be a Bugsink instance to report the failure to. Also: in the case of a bug in the ingestion/digestion process, you might run into infinite recursion, because each attempt to report the bug will itself be reported as a bug.
2. Sending us your data
If you want to avoid the risks of infinite recursion, you can send your data to one of our managed instances. The easiest way to get that separation is to sign up for free, create a project for your Self-Hosted Bugsink installation, and copy its DSN. We run the receiving instance for you. You can also run a second Self-Hosted instance, but then you are operating two installations instead of one.
Configuration
Once you have created the project, set SENTRY_DSN to its DSN and restart Bugsink.
Docker
Pass SENTRY_DSN to the container as an environment variable:
docker run -e SENTRY_DSN="YOUR_VALUE_GOES_HERE" ...docker run -e SENTRY_DSN="YOUR_VALUE_GOES_HERE" ...
bugsink_conf.py
The current bugsink_conf.py already reads SENTRY_DSN from the environment. If you use an older or customized
settings file, the relevant configuration is:
# bugsink_conf.py import os from bugsink.utils import eat_your_own_dogfood SENTRY_DSN = os.getenv("SENTRY_DSN") eat_your_own_dogfood(SENTRY_DSN)# bugsink_conf.py import os from bugsink.utils import eat_your_own_dogfood SENTRY_DSN = os.getenv("SENTRY_DSN") eat_your_own_dogfood(SENTRY_DSN)
