Skip to content

Latest commit

 

History

History
101 lines (55 loc) · 6.24 KB

File metadata and controls

101 lines (55 loc) · 6.24 KB
graph LR
    raven_contrib_flask_Sentry["raven.contrib.flask.Sentry"]
    raven_contrib_django_models_Sentry["raven.contrib.django.models.Sentry"]
    raven_contrib_django_client_DjangoClient["raven.contrib.django.client.DjangoClient"]
    raven_contrib_celery_CeleryClient["raven.contrib.celery.CeleryClient"]
    raven_contrib_sanic_SanicClient["raven.contrib.sanic.SanicClient"]
    raven_contrib_awslambda_LambdaClient["raven.contrib.awslambda.LambdaClient"]
    raven_contrib_tornado_TornadoClient["raven.contrib.tornado.TornadoClient"]
    raven_base_Client["raven.base.Client"]
    raven_contrib_flask_Sentry -- "interacts with" --> raven_base_Client
    raven_contrib_django_models_Sentry -- "initializes and uses" --> raven_contrib_django_client_DjangoClient
    raven_contrib_django_models_Sentry -- "interacts with" --> raven_base_Client
    raven_contrib_django_client_DjangoClient -- "interacts with" --> raven_base_Client
    raven_contrib_celery_CeleryClient -- "interacts with" --> raven_base_Client
    raven_contrib_sanic_SanicClient -- "interacts with" --> raven_base_Client
    raven_contrib_awslambda_LambdaClient -- "interacts with" --> raven_base_Client
    raven_contrib_tornado_TornadoClient -- "interacts with" --> raven_base_Client
Loading

CodeBoardingDemoContact

Details

The raven-python project provides a robust error reporting framework, primarily centered around the raven.base.Client. This core client is extended and specialized by various raven.contrib components to integrate with different web frameworks and asynchronous task queues. Each contrib component, such as raven.contrib.flask.Sentry, raven.contrib.django.models.Sentry (via SentryDjangoHandler), raven.contrib.celery.CeleryClient (via SentryCeleryHandler), raven.contrib.sanic.SanicClient (via Sentry), raven.contrib.awslambda.LambdaClient, and raven.contrib.tornado.TornadoClient (via AsyncSentryClient), is responsible for capturing framework-specific context and exceptions. These specialized clients then delegate the actual error processing and transmission to the raven.base.Client, ensuring a consistent reporting mechanism across diverse application environments. The raven.contrib.django.models.Sentry component further initializes and utilizes raven.contrib.django.client.DjangoClient for more granular Django-specific context extraction before interacting with the base client. This modular design allows for flexible integration while maintaining a centralized error handling core.

raven.contrib.flask.Sentry

Integrates Sentry with Flask applications, typically via a Flask extension, to capture exceptions and messages within the Flask request/response cycle.

Related Classes/Methods:

raven.contrib.django.models.Sentry

Provides comprehensive Sentry integration for Django, handling signals, middleware, and potentially database query logging.

Related Classes/Methods:

raven.contrib.django.client.DjangoClient

A specialized client for Django that extends the base Sentry client to extract Django-specific context, such as request data, user information, and potentially SQL queries.

Related Classes/Methods:

raven.contrib.celery.CeleryClient

Integrates Sentry with Celery, monitoring task execution and capturing exceptions that occur during asynchronous task processing.

Related Classes/Methods:

raven.contrib.sanic.SanicClient

Provides Sentry integration for Sanic web applications, focusing on capturing exceptions and collecting request context specific to Sanic's asynchronous nature.

Related Classes/Methods:

raven.contrib.awslambda.LambdaClient

Integrates Sentry with AWS Lambda functions, wrapping the Lambda handler to capture exceptions and extract relevant event data from the Lambda execution environment.

Related Classes/Methods:

raven.contrib.tornado.TornadoClient

Integrates Sentry with Tornado web applications, capturing exceptions and collecting request context within Tornado's event-driven framework.

Related Classes/Methods:

raven.base.Client

The core Sentry client responsible for processing, enriching, and transmitting error data. While not strictly an "integration" component, it is fundamental as all integration components rely on it to perform the actual error reporting.

Related Classes/Methods: