From 90d028fd58dc5ae4ae398b18bf8dba86c4b4c905 Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 21 Nov 2021 20:43:15 +0100 Subject: [PATCH] Debugger - Added performance debugging Windows - Added back forced shutdown --- .../Artemis.UI.Avalonia.Shared.xml | 20 -- src/Artemis.UI/ApplicationStateManager.cs | 2 +- .../Performance/PerformanceDebugViewModel.cs | 4 +- .../Artemis.UI.Shared/Styles/Border.axaml | 6 + src/Avalonia/Artemis.UI.Windows/App.axaml.cs | 8 +- .../ApplicationStateManager.cs | 186 ++++++++++++++ .../Artemis.UI.Windows.csproj | 2 +- .../Utilities/ProcessUtilities.cs | 235 ++++++++++++++++++ .../Artemis.UI/ArtemisBootstrapper.cs | 4 +- .../Tabs/DataModel/DataModelDebugView.axaml | 8 + .../Debugger/Tabs/Logs/LogsDebugView.axaml | 10 +- .../PerformanceDebugMeasurementViewModel.cs | 61 +++++ .../PerformanceDebugPluginView.axaml | 18 ++ .../PerformanceDebugPluginView.axaml.cs | 19 ++ .../PerformanceDebugPluginViewModel.cs | 31 +++ .../PerformanceDebugProfilerView.axaml | 29 +++ .../PerformanceDebugProfilerView.axaml.cs | 19 ++ .../PerformanceDebugProfilerViewModel.cs | 31 +++ .../Performance/PerformanceDebugView.axaml | 20 +- .../Performance/PerformanceDebugViewModel.cs | 66 ++++- 20 files changed, 749 insertions(+), 30 deletions(-) create mode 100644 src/Avalonia/Artemis.UI.Windows/ApplicationStateManager.cs create mode 100644 src/Avalonia/Artemis.UI.Windows/Utilities/ProcessUtilities.cs create mode 100644 src/Avalonia/Artemis.UI/Screens/Debugger/Tabs/Performance/PerformanceDebugMeasurementViewModel.cs create mode 100644 src/Avalonia/Artemis.UI/Screens/Debugger/Tabs/Performance/PerformanceDebugPluginView.axaml create mode 100644 src/Avalonia/Artemis.UI/Screens/Debugger/Tabs/Performance/PerformanceDebugPluginView.axaml.cs create mode 100644 src/Avalonia/Artemis.UI/Screens/Debugger/Tabs/Performance/PerformanceDebugPluginViewModel.cs create mode 100644 src/Avalonia/Artemis.UI/Screens/Debugger/Tabs/Performance/PerformanceDebugProfilerView.axaml create mode 100644 src/Avalonia/Artemis.UI/Screens/Debugger/Tabs/Performance/PerformanceDebugProfilerView.axaml.cs create mode 100644 src/Avalonia/Artemis.UI/Screens/Debugger/Tabs/Performance/PerformanceDebugProfilerViewModel.cs diff --git a/src/Artemis.UI.Avalonia.Shared/Artemis.UI.Avalonia.Shared.xml b/src/Artemis.UI.Avalonia.Shared/Artemis.UI.Avalonia.Shared.xml index 93f16e01d..535504c04 100644 --- a/src/Artemis.UI.Avalonia.Shared/Artemis.UI.Avalonia.Shared.xml +++ b/src/Artemis.UI.Avalonia.Shared/Artemis.UI.Avalonia.Shared.xml @@ -636,26 +636,6 @@ is registered - - - Provides data about selection events raised by - - - - - Gets the data model path that was selected - - - - - Provides data about submit events raised by - - - - - The value that was submitted - - Provides data on LED click events raised by the device visualizer diff --git a/src/Artemis.UI/ApplicationStateManager.cs b/src/Artemis.UI/ApplicationStateManager.cs index d2ac6eb02..b28ac63b7 100644 --- a/src/Artemis.UI/ApplicationStateManager.cs +++ b/src/Artemis.UI/ApplicationStateManager.cs @@ -94,7 +94,7 @@ namespace Artemis.UI { CancellationTokenSource cts = new(); cts.CancelAfter(2000); - + HttpResponseMessage httpResponseMessage = client.Send(new HttpRequestMessage(HttpMethod.Post, url + "remote/bring-to-foreground"), cts.Token); httpResponseMessage.EnsureSuccessStatusCode(); return true; diff --git a/src/Artemis.UI/Screens/Settings/Debug/Tabs/Performance/PerformanceDebugViewModel.cs b/src/Artemis.UI/Screens/Settings/Debug/Tabs/Performance/PerformanceDebugViewModel.cs index 8b439619e..e11218913 100644 --- a/src/Artemis.UI/Screens/Settings/Debug/Tabs/Performance/PerformanceDebugViewModel.cs +++ b/src/Artemis.UI/Screens/Settings/Debug/Tabs/Performance/PerformanceDebugViewModel.cs @@ -22,8 +22,8 @@ namespace Artemis.UI.Screens.Settings.Debug.Tabs.Performance private void UpdateTimerOnElapsed(object sender, ElapsedEventArgs e) { - foreach (PerformanceDebugPluginViewModel viewModel in Items) - viewModel.Update(); + foreach (PerformanceDebugPluginViewModel viewModel in Items) + viewModel.Update(); } private void FeatureToggled(object sender, PluginFeatureEventArgs e) diff --git a/src/Avalonia/Artemis.UI.Shared/Styles/Border.axaml b/src/Avalonia/Artemis.UI.Shared/Styles/Border.axaml index 822a4d097..bc9ce6bdb 100644 --- a/src/Avalonia/Artemis.UI.Shared/Styles/Border.axaml +++ b/src/Avalonia/Artemis.UI.Shared/Styles/Border.axaml @@ -28,6 +28,12 @@ + +