trace.cpp
 1  #include "pch.h"
 2  
 3  #include "trace.h"
 4  #include <common/Telemetry/ProjectTelemetry.h>
 5  
 6  TRACELOGGING_DEFINE_PROVIDER(
 7      g_hProvider,
 8      "Microsoft.PowerToys",
 9      // {38e8889b-9731-53f5-e901-e8a7c1753074}
10      (0x38e8889b, 0x9731, 0x53f5, 0xe9, 0x01, 0xe8, 0xa7, 0xc1, 0x75, 0x30, 0x74),
11      TraceLoggingOptionProjectTelemetry());
12  
13  void Trace::EventToggleOnOff(_In_ const bool enabled) noexcept
14  {
15      TraceLoggingWriteWrapper(
16          g_hProvider,
17          "NewPlus_EventToggleOnOff",
18          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
19          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
20          TraceLoggingBoolean(enabled, "Enabled"));
21  }
22  
23  void Trace::EventChangedTemplateLocation() noexcept
24  {
25      TraceLoggingWriteWrapper(
26          g_hProvider,
27          "NewPlus_ChangedTemplateLocation",
28          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
29          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
30  }
31  
32  void Trace::EventShowTemplateItems(const size_t number_of_templates) noexcept
33  {
34      TraceLoggingWriteWrapper(
35          g_hProvider,
36          "NewPlus_EventShowTemplateItems",
37          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
38          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
39          TraceLoggingValue(number_of_templates, "Count"));
40  }
41  
42  void Trace::EventCopyTemplate(_In_ const std::wstring template_file_extension) noexcept
43  {
44      TraceLoggingWriteWrapper(
45          g_hProvider,
46          "NewPlus_EventCopyTemplate",
47          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
48          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
49          TraceLoggingWideString(template_file_extension.c_str(), "Ext"));
50  }
51  
52  void Trace::EventCopyTemplateResult(_In_ const HRESULT hr) noexcept
53  {
54      TraceLoggingWriteWrapper(
55          g_hProvider,
56          "NewPlus_EventCopyTemplateResult",
57          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
58          TraceLoggingHResult(hr),
59          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
60  }
61  
62  void Trace::EventOpenTemplates() noexcept
63  {
64      TraceLoggingWriteWrapper(
65          g_hProvider,
66          "NewPlus_EventOpenTemplates",
67          ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
68          TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
69  }