modules.py 820 B

1234567891011121314151617181920212223242526272829
  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():
  13. # type: () -> None
  14. @add_global_event_processor
  15. def processor(event, hint):
  16. # type: (Event, Any) -> Event
  17. if event.get("type") == "transaction":
  18. return event
  19. if sentry_sdk.get_client().get_integration(ModulesIntegration) is None:
  20. return event
  21. event["modules"] = _get_installed_modules()
  22. return event