Viewing file: dedupe.py (1.14 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
from sentry_sdk.hub import Hub from sentry_sdk.utils import ContextVar from sentry_sdk.integrations import Integration from sentry_sdk.scope import add_global_event_processor
from sentry_sdk._types import MYPY
if MYPY: from typing import Optional
from sentry_sdk._types import Event, Hint
class DedupeIntegration(Integration): identifier = "dedupe"
def __init__(self): # type: () -> None self._last_seen = ContextVar("last-seen")
@staticmethod def setup_once(): # type: () -> None @add_global_event_processor def processor(event, hint): # type: (Event, Optional[Hint]) -> Optional[Event] if hint is None: return event
integration = Hub.current.get_integration(DedupeIntegration)
if integration is None: return event
exc_info = hint.get("exc_info", None) if exc_info is None: return event
exc = exc_info[1] if integration._last_seen.get(None) is exc: return None integration._last_seen.set(exc) return event
|