Skip to main content

Capture Sentry exceptions in Graphene views

Project description

graphene-sentry

This package is based on graphene-django-sentry (Github page) package.

Main focus of package was to fix issue with sentry reporting with graphene_django package.

I think this package can be extended to handle nore cases.

Survey is needed if you faced similar problem with sentry report with other frameworks or graphene implementations let me know via issues.

Capture Sentry exceptions in Graphene views

When using Graphene Django, you sometimes want to raise exceptions and capture them in the API.

However, Graphene Django eats the raised exceptions and you won't see it in Sentry! 😭

This package thinly wraps the normal GraphQLView with a handler that deals with Sentry errors properly.

So the results:

  1. Sentry will show the true exceptions.
  2. Graphene will continue to work like normal.

Works with:

  • Python 3.6+
  • Django 2.1+
  • graphene-django 2.2+

image

image

image

image

image

Installing the project is easy:

pip install graphene-sentry

Example without file upload:

# urls.py

from .schema import schema
from graphene_sentry.views import SentryGraphQLView

urlpatterns = [
    url(
        r'^graphql',
        csrf_exempt(SentryGraphQLView.as_view(schema=schema)),
        name='graphql',
    ),
]

Example with graphene file upload:

# urls.py

from .schema import schema
from graphene_sentry.views import SentryFileUploadGraphQLView

urlpatterns = [
    url(
        r'^graphql',
        csrf_exempt(SentryFileUploadGraphQLView.as_view(schema=schema)),
        name='graphql',
    ),
]

What can I do?

  • Capture Sentry exceptions properly when they are raise-d in Graphene views.

Status

graphene-sentry is currently stable and suitable for use.

Credits

This package is based on graphene-django-sentry author @phalt

This package was created with Cookiecutter.

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
graphene_sentry-0.4.0-py3-none-any.whl (4.5 kB) Copy SHA256 hash SHA256 Wheel py3
graphene-sentry-0.4.0.tar.gz (3.4 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page