diff --git a/sentry_sdk/integrations/django/__init__.py b/sentry_sdk/integrations/django/__init__.py index a82cef2000..0681e734ea 100644 --- a/sentry_sdk/integrations/django/__init__.py +++ b/sentry_sdk/integrations/django/__init__.py @@ -115,7 +115,7 @@ def __init__( transaction_style="url", # type: str middleware_spans=True, # type: bool signals_spans=True, # type: bool - cache_spans=False, # type: bool + cache_spans=True, # type: bool signals_denylist=None, # type: Optional[list[signals.Signal]] http_methods_to_capture=DEFAULT_HTTP_METHODS_TO_CAPTURE, # type: tuple[str, ...] ): diff --git a/sentry_sdk/integrations/django/caching.py b/sentry_sdk/integrations/django/caching.py index 236da9f749..65bf2674e1 100644 --- a/sentry_sdk/integrations/django/caching.py +++ b/sentry_sdk/integrations/django/caching.py @@ -134,22 +134,10 @@ def _get_address_port(settings): return address, int(port) if port is not None else None -def should_enable_cache_spans(): - # type: () -> bool - from sentry_sdk.integrations.django import DjangoIntegration - - client = sentry_sdk.get_client() - integration = client.get_integration(DjangoIntegration) - from django.conf import settings - - return integration is not None and ( - (client.spotlight is not None and settings.DEBUG is True) - or integration.cache_spans is True - ) - - def patch_caching(): # type: () -> None + from sentry_sdk.integrations.django import DjangoIntegration + if not hasattr(CacheHandler, "_sentry_patched"): if DJANGO_VERSION < (3, 2): original_get_item = CacheHandler.__getitem__ @@ -159,7 +147,8 @@ def sentry_get_item(self, alias): # type: (CacheHandler, str) -> Any cache = original_get_item(self, alias) - if should_enable_cache_spans(): + integration = sentry_sdk.get_client().get_integration(DjangoIntegration) + if integration is not None and integration.cache_spans: from django.conf import settings address, port = _get_address_port( @@ -181,7 +170,8 @@ def sentry_create_connection(self, alias): # type: (CacheHandler, str) -> Any cache = original_create_connection(self, alias) - if should_enable_cache_spans(): + integration = sentry_sdk.get_client().get_integration(DjangoIntegration) + if integration is not None and integration.cache_spans: address, port = _get_address_port(self.settings[alias or "default"]) _patch_cache(cache, address, port)