trace.cpp
 1  #include "pch.h"
 2  #include "trace.h"
 3  
 4  // Telemetry strings should not be localized.
 5  #define LoggingProviderKey "Microsoft.PowerToys"
 6  
 7  TRACELOGGING_DEFINE_PROVIDER(
 8      g_hProvider,
 9      LoggingProviderKey,
10      // {38e8889b-9731-53f5-e901-e8a7c1753074}
11      (0x38e8889b, 0x9731, 0x53f5, 0xe9, 0x01, 0xe8, 0xa7, 0xc1, 0x75, 0x30, 0x74),
12      TraceLoggingOptionProjectTelemetry());
13  
14  void Trace::LightSwitch::RegisterProvider()
15  {
16      TraceLoggingRegister(g_hProvider);
17  }
18  
19  void Trace::LightSwitch::UnregisterProvider()
20  {
21      TraceLoggingUnregister(g_hProvider);
22  }
23  
24  void Trace::LightSwitch::ScheduleModeToggled(const std::wstring& newMode) noexcept
25  {
26      TraceLoggingWriteWrapper(
27          g_hProvider,
28          "LightSwitch_ScheduleModeToggled",
29          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
30          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
31          TraceLoggingWideString(newMode.c_str(), "NewMode"));
32  }
33  
34  void Trace::LightSwitch::ThemeTargetChanged(bool changeApps, bool changeSystem) noexcept
35  {
36      TraceLoggingWriteWrapper(
37          g_hProvider,
38          "LightSwitch_ThemeTargetChanged",
39          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
40          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
41          TraceLoggingBoolean(changeApps, "ChangeApps"),
42          TraceLoggingBoolean(changeSystem, "ChangeSystem"));
43  }