Automated error reporting is not only a way to receive notifications when things go wrong but it also offers the information necessary to reproduce the problem locally.
Saleor provides integration with Sentry, a comprehensive error tracking and reporting tool.
To use it set the following environment variable:
Sentry Data Source Name, you can find it in your Sentry project settings.
If you need to customize the service, see the official Sentry documentation for Django for more details.
Application performance metrics
Observability is key to understanding a system's behavior. Saleor uses the OpenTracing protocol to report information about its behavior.
What is being traced:
- HTTP requests including their duration, full URL, request method, client's IP address, and length of response.
- GraphQL queries including their duration, query string, and execution errors.
- GraphQL resolvers including their duration, field name, parent type, and execution errors.
- Database queries including their duration and the SQL statement.
Jaeger is an open-source, end-to-end distributed tracing tool.
If you're using Docker Compose for local development, there is already a Jaeger instance running on your local system. To use Jaeger in your production environment (which we highly recommend), use the following environment variables:
The hostname the Jaeger agent is listening on.
The port the Jaeger agent is listening on. Defaults to 6831.
A boolean flag indicating whether you want to see verbose logs of agent's communication. Defaults to