Version: Next

Monitoring

Error reporting

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.

Sentry

Saleor provides integration with Sentry, a comprehensive error tracking and reporting tool.

To use it set the following environment variable:

SENTRY_DSN

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

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:

JAEGER_AGENT_HOST

The hostname the Jaeger agent is listening on.

JAEGER_AGENT_PORT

The port the Jaeger agent is listening on. Defaults to 6831.

JAEGER_LOGGING

A boolean flag indicating whether you want to see verbose logs of agent's communication. Defaults to False.