|
@@ -0,0 +1,170 @@
|
|
|
|
+from typing import Dict, Mapping, MutableMapping, Sequence
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+def get_frames(filename: str) -> Sequence[MutableMapping[str, str]]:
|
|
|
|
+ frames = [
|
|
|
|
+ {
|
|
|
|
+ "function": "dispatchEvent",
|
|
|
|
+ "filename": "/Users/sentry.user/git-repos/sentry-react-native/samples/react-native/node_modules/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js",
|
|
|
|
+ "abs_path": "/Users/sentry.user/git-repos/sentry-react-native/samples/react-native/node_modules/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "function": "Button.props.onPress",
|
|
|
|
+ "filename": "/Users/sentry.user/git-repos/sentry-react-native/samples/react-native/src/Screens/HomeScreen.tsx",
|
|
|
|
+ "abs_path": "/Users/sentry.user/git-repos/sentry-react-native/samples/react-native/src/Screens/HomeScreen.tsx",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "function": "community.lib.dosomething",
|
|
|
|
+ "filename": "/Users/sentry.user/git-repos/sentry-react-native/samples/react-native/node_modules/react-native-community/Renderer/implementations/ReactFabric-dev.js",
|
|
|
|
+ "abs_path": "/Users/sentry.user/git-repos/sentry-react-native/samples/react-native/node_modules/react-native-community/Renderer/implementations/ReactFabric-dev.js",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "function": "nativeCrash",
|
|
|
|
+ "filename": "/Users/sentry.user/git-repos/sentry-react-native/dist/js/sdk.js",
|
|
|
|
+ "abs_path": "/Users/sentry.user/git-repos/sentry-react-native/dist/js/sdk.js",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "function": "ReactNativeClient#nativeCrash",
|
|
|
|
+ "filename": filename,
|
|
|
|
+ "abs_path": "/Users/sentry.user/git-repos/sentry-react-native/dist/js/client.js",
|
|
|
|
+ },
|
|
|
|
+ ]
|
|
|
|
+ return frames
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+def get_crash_event(
|
|
|
|
+ filename="/Users/sentry.user/git-repos/sentry-react-native/dist/js/client.js", **kwargs
|
|
|
|
+) -> Dict[str, object]:
|
|
|
|
+ return get_crash_event_with_frames(get_frames(filename=filename), **kwargs)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+def get_crash_event_with_frames(frames: Sequence[Mapping[str, str]], **kwargs) -> Dict[str, object]:
|
|
|
|
+ result = {
|
|
|
|
+ "event_id": "150d5b0b4f3a4797a3cd1345374ac484",
|
|
|
|
+ "release": "com.samplenewarchitecture@1.0+1",
|
|
|
|
+ "dist": "1",
|
|
|
|
+ "platform": "javascript",
|
|
|
|
+ "message": "",
|
|
|
|
+ "environment": "dev",
|
|
|
|
+ "exception": {
|
|
|
|
+ "values": [
|
|
|
|
+ {
|
|
|
|
+ "type": "Error",
|
|
|
|
+ "value": "Uncaught Thrown Error",
|
|
|
|
+ "stacktrace": {"frames": frames},
|
|
|
|
+ "mechanism": {"type": "onerror", "handled": False},
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ "key_id": "3554525",
|
|
|
|
+ "level": "fatal",
|
|
|
|
+ "contexts": {
|
|
|
|
+ "app": {
|
|
|
|
+ "app_start_time": "2024-01-11T10:30:29.281Z",
|
|
|
|
+ "app_identifier": "com.samplenewarchitecture",
|
|
|
|
+ "app_name": "sampleNewArchitecture",
|
|
|
|
+ "app_version": "1.0",
|
|
|
|
+ "app_build": "1",
|
|
|
|
+ "in_foreground": True,
|
|
|
|
+ "view_names": ["Home"],
|
|
|
|
+ "permissions": {
|
|
|
|
+ "ACCESS_NETWORK_STATE": "granted",
|
|
|
|
+ "ACCESS_WIFI_STATE": "granted",
|
|
|
|
+ "DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION": "granted",
|
|
|
|
+ "INTERNET": "granted",
|
|
|
|
+ "SYSTEM_ALERT_WINDOW": "not_granted",
|
|
|
|
+ },
|
|
|
|
+ "type": "app",
|
|
|
|
+ },
|
|
|
|
+ "device": {
|
|
|
|
+ "family": "sdk_gphone64_arm64",
|
|
|
|
+ "model": "sdk_gphone64_arm64",
|
|
|
|
+ "model_id": "UPB2.230407.019",
|
|
|
|
+ "battery_level": 100.0,
|
|
|
|
+ "orientation": "portrait",
|
|
|
|
+ "manufacturer": "Google",
|
|
|
|
+ "brand": "google",
|
|
|
|
+ "screen_width_pixels": 1080,
|
|
|
|
+ "screen_height_pixels": 2209,
|
|
|
|
+ "screen_density": 2.625,
|
|
|
|
+ "screen_dpi": 420,
|
|
|
|
+ "online": True,
|
|
|
|
+ "charging": False,
|
|
|
|
+ "low_memory": False,
|
|
|
|
+ "simulator": True,
|
|
|
|
+ "memory_size": 2074669056,
|
|
|
|
+ "free_memory": 607039488,
|
|
|
|
+ "storage_size": 6228115456,
|
|
|
|
+ "free_storage": 4940427264,
|
|
|
|
+ "boot_time": "2024-01-11T09:56:37.070Z",
|
|
|
|
+ "timezone": "Europe/Vienna",
|
|
|
|
+ "locale": "en_US",
|
|
|
|
+ "processor_count": 4,
|
|
|
|
+ "processor_frequency": 0,
|
|
|
|
+ "archs": ["arm64-v8a"],
|
|
|
|
+ "battery_temperature": 25,
|
|
|
|
+ "connection_type": "wifi",
|
|
|
|
+ "id": "64b13018-2922-4938-92b1-3135861a69c8",
|
|
|
|
+ "language": "en",
|
|
|
|
+ "type": "device",
|
|
|
|
+ },
|
|
|
|
+ "os": {
|
|
|
|
+ "name": "Android",
|
|
|
|
+ "version": "13",
|
|
|
|
+ "build": "sdk_gphone64_arm64-userdebug UpsideDownCake UPB2.230407.019 10170211 dev-keys",
|
|
|
|
+ "kernel_version": "6.1.21-android14-3-01811-g9e35a21ec03f-ab9850788",
|
|
|
|
+ "rooted": False,
|
|
|
|
+ "type": "os",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ "logger": "",
|
|
|
|
+ "sdk": {
|
|
|
|
+ "name": "sentry.javascript.react-native",
|
|
|
|
+ "version": "5.15.2",
|
|
|
|
+ "integrations": [
|
|
|
|
+ "ModulesLoader",
|
|
|
|
+ "ReactNativeErrorHandlers",
|
|
|
|
+ "Release",
|
|
|
|
+ "InboundFilters",
|
|
|
|
+ "FunctionToString",
|
|
|
|
+ "Breadcrumbs",
|
|
|
|
+ "HttpContext",
|
|
|
|
+ "NativeLinkedErrors",
|
|
|
|
+ "EventOrigin",
|
|
|
|
+ "SdkInfo",
|
|
|
|
+ "ReactNativeInfo",
|
|
|
|
+ "DebugSymbolicator",
|
|
|
|
+ "RewriteFrames",
|
|
|
|
+ "DeviceContext",
|
|
|
|
+ "HermesProfiling",
|
|
|
|
+ "ReactNativeTracing",
|
|
|
|
+ "Screenshot",
|
|
|
|
+ "ViewHierarchy",
|
|
|
|
+ "HttpClient",
|
|
|
|
+ "react-navigation-v5",
|
|
|
|
+ "ReactNativeUserInteractionTracing",
|
|
|
|
+ "ReactNativeProfiler",
|
|
|
|
+ "TouchEventBoundary",
|
|
|
|
+ ],
|
|
|
|
+ "packages": [
|
|
|
|
+ {"name": "sentry.java.android.react-native", "version": "6.34.0"},
|
|
|
|
+ {"name": "npm:@sentry/react-native", "version": "5.15.2"},
|
|
|
|
+ ],
|
|
|
|
+ },
|
|
|
|
+ "timestamp": 1704969036.875,
|
|
|
|
+ "type": "error",
|
|
|
|
+ "user": {
|
|
|
|
+ "email": "philipp@example.com",
|
|
|
|
+ "ip_address": "85.193.160.231",
|
|
|
|
+ "geo": {
|
|
|
|
+ "country_code": "AT",
|
|
|
|
+ "city": "Diersbach",
|
|
|
|
+ "subdivision": "Upper Austria",
|
|
|
|
+ "region": "Austria",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ "version": "7",
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ result.update(kwargs)
|
|
|
|
+ return result
|