trace.cpp
 1  #include "pch.h"
 2  #include "trace.h"
 3  #include <TraceLoggingProvider.h>
 4  
 5  TRACELOGGING_DEFINE_PROVIDER(
 6      g_hProvider,
 7      "Microsoft.PowerToys",
 8      // {38e8889b-9731-53f5-e901-e8a7c1753074}
 9      (0x38e8889b, 0x9731, 0x53f5, 0xe9, 0x01, 0xe8, 0xa7, 0xc1, 0x75, 0x30, 0x74),
10      TraceLoggingOptionProjectTelemetry());
11  
12  void Trace::RegisterProvider()
13  {
14      TraceLoggingRegister(g_hProvider);
15  }
16  
17  void Trace::UnregisterProvider()
18  {
19      TraceLoggingUnregister(g_hProvider);
20  }
21  
22  void Trace::Enable(bool enabled) noexcept
23  {
24      TraceLoggingWrite(
25          g_hProvider,
26          "LightSwitch_EnableLightSwitch",
27          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
28          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
29          TraceLoggingBoolean(enabled, "Enabled"));
30  }
31  
32  void Trace::ShortcutInvoked() noexcept
33  {
34      TraceLoggingWrite(
35          g_hProvider,
36          "LightSwitch_ShortcutInvoked",
37          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
38          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
39  }