From 1f9c1ce8e4b9e6a8583c023460e5afca4d98f7a7 Mon Sep 17 00:00:00 2001 From: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Date: Tue, 5 May 2020 12:17:26 -0700 Subject: [PATCH] Removing unecceary EventName requirement. EventSource.Write will use the type name of T if null is passed in. This saves us passing an extra string uneccesarily as the public property would be serialized into the event data as well as being specified as the EventName --- .../ManagedTelemetry/Telemetry/Events/IEvent.cs | 11 ----------- .../Telemetry/PowerToysTelemetry.cs | 3 +-- .../EnabledModules.cs | 2 +- ...uleEvent.cs => SettingsEnabledModuleEvent.cs} | 3 +-- .../PowerLauncher.Telemetry/Events/BootEvent.cs | 16 ---------------- .../Events/FirstDeleteEvent.cs | 14 -------------- .../PowerLauncher.Telemetry/Events/HideEvent.cs | 14 -------------- .../Events/LauncherBootEvent.cs | 10 ++++++++++ .../Events/LauncherFirstDeleteEvent.cs | 9 +++++++++ .../Events/LauncherHideEvent.cs | 9 +++++++++ .../{QueryEvent.cs => LauncherQueryEvent.cs} | 9 ++------- ...tionEvent.cs => LauncherResultActionEvent.cs} | 11 +++-------- .../Events/LauncherShowEvent.cs | 9 +++++++++ .../PowerLauncher.Telemetry/Events/ShowEvent.cs | 14 -------------- .../launcher/PowerLauncher.UI/ResultList.xaml.cs | 6 +++--- src/modules/launcher/PowerLauncher/App.xaml.cs | 2 +- .../launcher/PowerLauncher/MainWindow.xaml.cs | 2 +- .../Wox/ViewModel/ContextMenuItemViewModel.cs | 6 +++--- .../launcher/Wox/ViewModel/MainViewModel.cs | 6 +++--- 19 files changed, 56 insertions(+), 100 deletions(-) delete mode 100644 src/common/ManagedTelemetry/Telemetry/Events/IEvent.cs rename src/core/Microsoft.PowerToys.Settings.UI.Lib/Telemetry/Events/{EnabledModuleEvent.cs => SettingsEnabledModuleEvent.cs} (73%) delete mode 100644 src/modules/launcher/PowerLauncher.Telemetry/Events/BootEvent.cs delete mode 100644 src/modules/launcher/PowerLauncher.Telemetry/Events/FirstDeleteEvent.cs delete mode 100644 src/modules/launcher/PowerLauncher.Telemetry/Events/HideEvent.cs create mode 100644 src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherBootEvent.cs create mode 100644 src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherFirstDeleteEvent.cs create mode 100644 src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherHideEvent.cs rename src/modules/launcher/PowerLauncher.Telemetry/Events/{QueryEvent.cs => LauncherQueryEvent.cs} (53%) rename src/modules/launcher/PowerLauncher.Telemetry/Events/{ResultActionEvent.cs => LauncherResultActionEvent.cs} (51%) create mode 100644 src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherShowEvent.cs delete mode 100644 src/modules/launcher/PowerLauncher.Telemetry/Events/ShowEvent.cs diff --git a/src/common/ManagedTelemetry/Telemetry/Events/IEvent.cs b/src/common/ManagedTelemetry/Telemetry/Events/IEvent.cs deleted file mode 100644 index 0bdfb42099..0000000000 --- a/src/common/ManagedTelemetry/Telemetry/Events/IEvent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Microsoft.PowerToys.Telemetry -{ - public interface IEvent - { - string EventName { get; } - } -} diff --git a/src/common/ManagedTelemetry/Telemetry/PowerToysTelemetry.cs b/src/common/ManagedTelemetry/Telemetry/PowerToysTelemetry.cs index 5d3edfb2ad..9159e837e4 100644 --- a/src/common/ManagedTelemetry/Telemetry/PowerToysTelemetry.cs +++ b/src/common/ManagedTelemetry/Telemetry/PowerToysTelemetry.cs @@ -35,9 +35,8 @@ namespace Microsoft.PowerToys.Telemetry /// Publishes ETW event when an action is triggered on /// public void WriteEvent(T telemetryEvent) - where T : IEvent { - this.Write(telemetryEvent.EventName, new EventSourceOptions() + this.Write(null, new EventSourceOptions() { Keywords = ProjectKeywordMeasure, Tags = ProjectTelemetryTagProductAndServicePerformance, diff --git a/src/core/Microsoft.PowerToys.Settings.UI.Lib/EnabledModules.cs b/src/core/Microsoft.PowerToys.Settings.UI.Lib/EnabledModules.cs index d93717eb56..e256e69286 100644 --- a/src/core/Microsoft.PowerToys.Settings.UI.Lib/EnabledModules.cs +++ b/src/core/Microsoft.PowerToys.Settings.UI.Lib/EnabledModules.cs @@ -133,7 +133,7 @@ namespace Microsoft.PowerToys.Settings.UI.Lib private void LogTelemetryEvent(bool value, [CallerMemberName] string moduleName = null ) { - var dataEvent = new EnabledModuleEvent() + var dataEvent = new SettingsEnabledModuleEvent() { Value = value, ModuleName = moduleName, diff --git a/src/core/Microsoft.PowerToys.Settings.UI.Lib/Telemetry/Events/EnabledModuleEvent.cs b/src/core/Microsoft.PowerToys.Settings.UI.Lib/Telemetry/Events/SettingsEnabledModuleEvent.cs similarity index 73% rename from src/core/Microsoft.PowerToys.Settings.UI.Lib/Telemetry/Events/EnabledModuleEvent.cs rename to src/core/Microsoft.PowerToys.Settings.UI.Lib/Telemetry/Events/SettingsEnabledModuleEvent.cs index 658c41adef..754a640f5f 100644 --- a/src/core/Microsoft.PowerToys.Settings.UI.Lib/Telemetry/Events/EnabledModuleEvent.cs +++ b/src/core/Microsoft.PowerToys.Settings.UI.Lib/Telemetry/Events/SettingsEnabledModuleEvent.cs @@ -1,10 +1,9 @@ using System.Diagnostics.Tracing; -using Microsoft.PowerToys.Telemetry; namespace Microsoft.PowerToys.Settings.Telemetry { [EventData] - public class EnabledModuleEvent : IEvent + public class SettingsEnabledModuleEvent { public string EventName { get; } = "Settings_EnableModule"; diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/BootEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/BootEvent.cs deleted file mode 100644 index 4351090652..0000000000 --- a/src/modules/launcher/PowerLauncher.Telemetry/Events/BootEvent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.Tracing; -using System.Text; -using Microsoft.PowerToys.Telemetry; - -namespace Microsoft.PowerLauncher.Telemetry -{ - [EventData] - public class BootEvent : IEvent - { - public string EventName { get; } = "PowerLauncher_Boot_Event"; - - public double BootTimeMs { get; set; } - } -} diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/FirstDeleteEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/FirstDeleteEvent.cs deleted file mode 100644 index 5585010717..0000000000 --- a/src/modules/launcher/PowerLauncher.Telemetry/Events/FirstDeleteEvent.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.Tracing; -using System.Text; -using Microsoft.PowerToys.Telemetry; - -namespace Microsoft.PowerLauncher.Telemetry -{ - [EventData] - public class FirstDeleteEvent : IEvent - { - public string EventName { get; } = "PowerLauncher_FirstDelete_Event"; - } -} diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/HideEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/HideEvent.cs deleted file mode 100644 index 3aab162662..0000000000 --- a/src/modules/launcher/PowerLauncher.Telemetry/Events/HideEvent.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.Tracing; -using System.Text; -using Microsoft.PowerToys.Telemetry; - -namespace Microsoft.PowerLauncher.Telemetry -{ - [EventData] - public class HideEvent : IEvent - { - public string EventName { get; } = "PowerLauncher_Hide_Event"; - } -} diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherBootEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherBootEvent.cs new file mode 100644 index 0000000000..5e245c655e --- /dev/null +++ b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherBootEvent.cs @@ -0,0 +1,10 @@ +using System.Diagnostics.Tracing; + +namespace Microsoft.PowerLauncher.Telemetry +{ + [EventData] + public class LauncherBootEvent + { + public double BootTimeMs { get; set; } + } +} diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherFirstDeleteEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherFirstDeleteEvent.cs new file mode 100644 index 0000000000..3c4ff30af2 --- /dev/null +++ b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherFirstDeleteEvent.cs @@ -0,0 +1,9 @@ +using System.Diagnostics.Tracing; + +namespace Microsoft.PowerLauncher.Telemetry +{ + [EventData] + public class LauncherFirstDeleteEvent + { + } +} diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherHideEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherHideEvent.cs new file mode 100644 index 0000000000..7ce8c92ccd --- /dev/null +++ b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherHideEvent.cs @@ -0,0 +1,9 @@ +using System.Diagnostics.Tracing; + +namespace Microsoft.PowerLauncher.Telemetry +{ + [EventData] + public class LauncherHideEvent + { + } +} diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/QueryEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherQueryEvent.cs similarity index 53% rename from src/modules/launcher/PowerLauncher.Telemetry/Events/QueryEvent.cs rename to src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherQueryEvent.cs index ea986eccc6..8e1cc73c5c 100644 --- a/src/modules/launcher/PowerLauncher.Telemetry/Events/QueryEvent.cs +++ b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherQueryEvent.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.Tracing; -using System.Text; -using Microsoft.PowerToys.Telemetry; +using System.Diagnostics.Tracing; namespace Microsoft.PowerLauncher.Telemetry { @@ -10,9 +6,8 @@ namespace Microsoft.PowerLauncher.Telemetry /// ETW Event for when the user initiates a query /// [EventData] - public class QueryEvent : IEvent + public class LauncherQueryEvent { - public string EventName { get; } = "PowerLauncher_Query_Event"; public double QueryTimeMs { get; set; } public int QueryLength { get; set; } public int NumResults { get; set; } diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/ResultActionEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherResultActionEvent.cs similarity index 51% rename from src/modules/launcher/PowerLauncher.Telemetry/Events/ResultActionEvent.cs rename to src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherResultActionEvent.cs index a338ba26a9..be28d20906 100644 --- a/src/modules/launcher/PowerLauncher.Telemetry/Events/ResultActionEvent.cs +++ b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherResultActionEvent.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.Tracing; -using System.Text; -using Microsoft.PowerToys.Telemetry; +using System.Diagnostics.Tracing; namespace Microsoft.PowerLauncher.Telemetry { @@ -10,9 +6,8 @@ namespace Microsoft.PowerLauncher.Telemetry /// ETW event for when a result is actioned. /// [EventData] - public class ResultActionEvent : IEvent + public class LauncherResultActionEvent { - public string EventName { get; } = "PowerLauncher_Result_ActionEvent"; public enum TriggerType { @@ -20,7 +15,7 @@ namespace Microsoft.PowerLauncher.Telemetry KeyboardShortcut } - public TriggerType Trigger { get; set; } + public string Trigger { get; set; } public string PluginName { get; set; } public string ActionName { get; set; } } diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherShowEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherShowEvent.cs new file mode 100644 index 0000000000..d785bef5c8 --- /dev/null +++ b/src/modules/launcher/PowerLauncher.Telemetry/Events/LauncherShowEvent.cs @@ -0,0 +1,9 @@ +using System.Diagnostics.Tracing; + +namespace Microsoft.PowerLauncher.Telemetry +{ + [EventData] + public class LauncherShowEvent + { + } +} diff --git a/src/modules/launcher/PowerLauncher.Telemetry/Events/ShowEvent.cs b/src/modules/launcher/PowerLauncher.Telemetry/Events/ShowEvent.cs deleted file mode 100644 index ec5afe34c4..0000000000 --- a/src/modules/launcher/PowerLauncher.Telemetry/Events/ShowEvent.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.Tracing; -using System.Text; -using Microsoft.PowerToys.Telemetry; - -namespace Microsoft.PowerLauncher.Telemetry -{ - [EventData] - public class ShowEvent : IEvent - { - public string EventName { get; } = "PowerLauncher_Show_Event"; - } -} diff --git a/src/modules/launcher/PowerLauncher.UI/ResultList.xaml.cs b/src/modules/launcher/PowerLauncher.UI/ResultList.xaml.cs index 507378a719..5f0af0b5be 100644 --- a/src/modules/launcher/PowerLauncher.UI/ResultList.xaml.cs +++ b/src/modules/launcher/PowerLauncher.UI/ResultList.xaml.cs @@ -11,7 +11,7 @@ namespace PowerLauncher.UI { public sealed partial class ResultList : UserControl { - private ResultActionEvent.TriggerType triggerType = ResultActionEvent.TriggerType.Click; + private LauncherResultActionEvent.TriggerType triggerType = LauncherResultActionEvent.TriggerType.Click; public ResultList() { InitializeComponent(); @@ -20,7 +20,7 @@ namespace PowerLauncher.UI private void ContextButton_OnAcceleratorInvoked(Windows.UI.Xaml.Input.KeyboardAccelerator sender, Windows.UI.Xaml.Input.KeyboardAcceleratorInvokedEventArgs args) { - this.triggerType = ResultActionEvent.TriggerType.KeyboardShortcut; + this.triggerType = LauncherResultActionEvent.TriggerType.KeyboardShortcut; } private void ContextButton_OnClick(object sender, Windows.UI.Xaml.RoutedEventArgs e) @@ -39,7 +39,7 @@ namespace PowerLauncher.UI } //Restore the trigger type back to click - triggerType = ResultActionEvent.TriggerType.Click; + triggerType = LauncherResultActionEvent.TriggerType.Click; } } } diff --git a/src/modules/launcher/PowerLauncher/App.xaml.cs b/src/modules/launcher/PowerLauncher/App.xaml.cs index d4b08fd256..f996f62995 100644 --- a/src/modules/launcher/PowerLauncher/App.xaml.cs +++ b/src/modules/launcher/PowerLauncher/App.xaml.cs @@ -99,7 +99,7 @@ namespace PowerLauncher bootTime.Stop(); - PowerToysTelemetry.Log.WriteEvent(new BootEvent() { BootTimeMs = bootTime.ElapsedMilliseconds }); + PowerToysTelemetry.Log.WriteEvent(new LauncherBootEvent() { BootTimeMs = bootTime.ElapsedMilliseconds }); //[Conditional("RELEASE")] // check udpate every 5 hours diff --git a/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs b/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs index 1086b7620a..8974a35572 100644 --- a/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs +++ b/src/modules/launcher/PowerLauncher/MainWindow.xaml.cs @@ -67,7 +67,7 @@ namespace PowerLauncher _firstDeleteTimer.Stop(); if (_deletePressed) { - PowerToysTelemetry.Log.WriteEvent(new FirstDeleteEvent()); + PowerToysTelemetry.Log.WriteEvent(new LauncherFirstDeleteEvent()); } } diff --git a/src/modules/launcher/Wox/ViewModel/ContextMenuItemViewModel.cs b/src/modules/launcher/Wox/ViewModel/ContextMenuItemViewModel.cs index d09fa5d3c7..becb85f7c3 100644 --- a/src/modules/launcher/Wox/ViewModel/ContextMenuItemViewModel.cs +++ b/src/modules/launcher/Wox/ViewModel/ContextMenuItemViewModel.cs @@ -18,12 +18,12 @@ namespace Wox.ViewModel public string AcceleratorModifiers { get; set; } public bool IsAcceleratorKeyEnabled { get; set; } - public void SendTelemetryEvent(ResultActionEvent.TriggerType triggerType) + public void SendTelemetryEvent(LauncherResultActionEvent.TriggerType triggerType) { - var eventData = new ResultActionEvent() + var eventData = new LauncherResultActionEvent() { PluginName = PluginName, - Trigger = triggerType, + Trigger = triggerType.ToString(), ActionName = Title }; diff --git a/src/modules/launcher/Wox/ViewModel/MainViewModel.cs b/src/modules/launcher/Wox/ViewModel/MainViewModel.cs index 5005fc5fe2..adc0f41f4a 100644 --- a/src/modules/launcher/Wox/ViewModel/MainViewModel.cs +++ b/src/modules/launcher/Wox/ViewModel/MainViewModel.cs @@ -312,11 +312,11 @@ namespace Wox.ViewModel _visibility = value; if(value == Visibility.Visible) { - PowerToysTelemetry.Log.WriteEvent(new ShowEvent()); + PowerToysTelemetry.Log.WriteEvent(new LauncherShowEvent()); } else { - PowerToysTelemetry.Log.WriteEvent(new HideEvent()); + PowerToysTelemetry.Log.WriteEvent(new LauncherHideEvent()); } } @@ -456,7 +456,7 @@ namespace Wox.ViewModel } queryTimer.Stop(); - var queryEvent = new QueryEvent() + var queryEvent = new LauncherQueryEvent() { QueryTimeMs = queryTimer.ElapsedMilliseconds, NumResults = Results.Results.Count,