diff --git a/src/sentry/interfaces/contexts.py b/src/sentry/interfaces/contexts.py index 5993f43fef755a..b9d0b57004a3c7 100644 --- a/src/sentry/interfaces/contexts.py +++ b/src/sentry/interfaces/contexts.py @@ -236,6 +236,15 @@ class OtelContextType(ContextType): context_to_tag_mapping = {} +@contexttype +class UnityContextType(ContextType): + type = "unity" + context_to_tag_mapping = { + "is_main_thread": "{is_main_thread}", + "install_mode": "{install_mode}", + } + + class Contexts(Interface): """ This interface stores context specific information. diff --git a/tests/sentry/event_manager/interfaces/snapshots/test_contexts/test_unity.pysnap b/tests/sentry/event_manager/interfaces/snapshots/test_contexts/test_unity.pysnap new file mode 100644 index 00000000000000..bfdc54aedf07f4 --- /dev/null +++ b/tests/sentry/event_manager/interfaces/snapshots/test_contexts/test_unity.pysnap @@ -0,0 +1,18 @@ +--- +source: tests/sentry/event_manager/interfaces/test_contexts.py +--- +errors: null +tags: +- - unity.install_mode + - Store +- - unity.is_main_thread + - 'yes' +to_json: + unity: + active_scene_name: MainScene + editor_version: 2022.3.1f1 + install_mode: Store + is_main_thread: true + rendering_threading_mode: MultiThreaded + target_frame_rate: '60' + type: unity diff --git a/tests/sentry/event_manager/interfaces/test_contexts.py b/tests/sentry/event_manager/interfaces/test_contexts.py index acc86444d45f23..045918cb04b6f2 100644 --- a/tests/sentry/event_manager/interfaces/test_contexts.py +++ b/tests/sentry/event_manager/interfaces/test_contexts.py @@ -183,3 +183,18 @@ def test_large_nested_numbers() -> None: "type": "default", } assert ctx_data == expected_data + + +def test_unity(make_ctx_snapshot) -> None: + make_ctx_snapshot( + { + "unity": { + "active_scene_name": "MainScene", + "editor_version": "2022.3.1f1", + "install_mode": "Store", + "is_main_thread": True, + "rendering_threading_mode": "MultiThreaded", + "target_frame_rate": "60", + } + } + )