modules.py 786 B

123456789101112131415161718192021222324252627
  1. import sentry_sdk
  2. from sentry_sdk.integrations import Integration
  3. from sentry_sdk.scope import add_global_event_processor
  4. from sentry_sdk.utils import _get_installed_modules
  5. from typing import TYPE_CHECKING
  6. if TYPE_CHECKING:
  7. from typing import Any
  8. from sentry_sdk._types import Event
  9. class ModulesIntegration(Integration):
  10. identifier = "modules"
  11. @staticmethod
  12. def setup_once() -> None:
  13. @add_global_event_processor
  14. def processor(event: "Event", hint: "Any") -> "Event":
  15. if event.get("type") == "transaction":
  16. return event
  17. if sentry_sdk.get_client().get_integration(ModulesIntegration) is None:
  18. return event
  19. event["modules"] = _get_installed_modules()
  20. return event