-
-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy pathScriptableSentryUnityOptionsEditor.cs
More file actions
113 lines (91 loc) · 5.51 KB
/
ScriptableSentryUnityOptionsEditor.cs
File metadata and controls
113 lines (91 loc) · 5.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
using UnityEditor;
using UnityEngine;
namespace Sentry.Unity.Editor;
[CustomEditor(typeof(ScriptableSentryUnityOptions))]
public class ScriptableSentryUnityOptionsEditor : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
if (target is not ScriptableSentryUnityOptions options)
{
return;
}
EditorGUI.BeginDisabledGroup(true);
EditorGUILayout.LabelField("Core", EditorStyles.boldLabel);
EditorGUILayout.Toggle("Enable Sentry SDK", options.Enabled);
EditorGUILayout.TextField("DSN", options.Dsn);
EditorGUILayout.Toggle("Capture In Editor", options.CaptureInEditor);
EditorGUILayout.Space();
EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 1), Color.gray);
EditorGUILayout.Space();
EditorGUILayout.FloatField("Traces Sample Rate", (float)options.TracesSampleRate);
EditorGUILayout.Toggle("Auto Startup Traces", options.AutoStartupTraces);
EditorGUILayout.Toggle("Auto Scene Load Traces", options.AutoSceneLoadTraces);
EditorGUILayout.Toggle("Attach Stacktrace", options.AutoAwakeTraces);
EditorGUILayout.Space();
EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 1), Color.gray);
EditorGUILayout.Space();
EditorGUILayout.LabelField("Enrichment", EditorStyles.boldLabel);
EditorGUILayout.TextField("Release Override", options.ReleaseOverride);
EditorGUILayout.TextField("Environment Override", options.EnvironmentOverride);
EditorGUILayout.Toggle("Attach Stacktrace", options.AttachStacktrace);
EditorGUILayout.Toggle("Attach Screenshot", options.AttachScreenshot);
EditorGUILayout.Toggle("Attach Hierarchy", options.AttachViewHierarchy);
EditorGUILayout.IntField("Max Breadcrumbs", options.MaxBreadcrumbs);
EditorGUILayout.EnumPopup("Report Assemblies Mode", options.ReportAssembliesMode);
EditorGUILayout.Toggle("Send Default Pii", options.SendDefaultPii);
EditorGUILayout.Toggle("Auto Set UserName", options.IsEnvironmentUser);
EditorGUILayout.Space();
EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 1), Color.gray);
EditorGUILayout.Space();
EditorGUILayout.LabelField("Transport", EditorStyles.boldLabel);
EditorGUILayout.Toggle("Enable Offline Caching", options.EnableOfflineCaching);
EditorGUILayout.IntField("Max Cache Items", options.MaxCacheItems);
EditorGUILayout.IntField("Init Flush Timeout [ms]", options.InitCacheFlushTimeout);
EditorGUILayout.FloatField("Event Sample Rate", options.SampleRate);
EditorGUILayout.IntField("Shut Down Timeout [ms]", options.ShutdownTimeout);
EditorGUILayout.IntField("Max Queue Items", options.MaxQueueItems);
EditorGUILayout.Space();
EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 1), Color.gray);
EditorGUILayout.Space();
EditorGUILayout.LabelField("Session", EditorStyles.boldLabel);
EditorGUILayout.Toggle("Auto Session Tracking", options.AutoSessionTracking);
EditorGUILayout.IntField("Session Timeout [ms]", options.AutoSessionTrackingInterval);
EditorGUILayout.Space();
EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 1), Color.gray);
EditorGUILayout.Space();
EditorGUILayout.LabelField("C# Watchdog", EditorStyles.boldLabel);
EditorGUILayout.Toggle("Enable", options.AnrDetectionEnabled);
EditorGUILayout.IntField("Watchdog Timeout [ms]", options.AnrTimeout);
EditorGUILayout.LabelField("App Hang Tracking", EditorStyles.boldLabel);
EditorGUILayout.Toggle("Enable", options.EnableAppHangTracking);
EditorGUILayout.IntField("App Hang Timeout [ms]", options.AppHangTimeout);
EditorGUILayout.Space();
EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 1), Color.gray);
EditorGUILayout.Space();
EditorGUILayout.Toggle("iOS Native Support", options.IosNativeSupportEnabled);
EditorGUILayout.Toggle("Android Native Support", options.AndroidNativeSupportEnabled);
EditorGUI.indentLevel++;
EditorGUILayout.Toggle("NDK Integration", options.NdkIntegrationEnabled);
EditorGUILayout.Toggle("NDK Scope Sync", options.NdkScopeSyncEnabled);
EditorGUI.indentLevel--;
EditorGUILayout.Toggle("Windows Native Support", options.WindowsNativeSupportEnabled);
EditorGUILayout.Toggle("macOS Native Support", options.MacosNativeSupportEnabled);
EditorGUILayout.Toggle("Linux Native Support", options.LinuxNativeSupportEnabled);
EditorGUILayout.Toggle("IL2CPP line numbers", options.Il2CppLineNumberSupportEnabled);
EditorGUILayout.Space();
EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 1), Color.gray);
EditorGUILayout.Space();
EditorGUILayout.LabelField("Options Configuration", EditorStyles.boldLabel);
EditorGUILayout.ObjectField("Options Configuration", options.OptionsConfiguration,
typeof(SentryOptionsConfiguration), false);
EditorGUILayout.Space();
EditorGUI.DrawRect(EditorGUILayout.GetControlRect(false, 1), Color.gray);
EditorGUILayout.Space();
EditorGUILayout.LabelField("Debug", EditorStyles.boldLabel);
EditorGUILayout.Toggle("Enable Debug Output", options.Debug);
EditorGUILayout.Toggle("Only In Editor", options.DebugOnlyInEditor);
EditorGUILayout.EnumPopup("Verbosity level", options.DiagnosticLevel);
EditorGUI.EndDisabledGroup();
}
}