mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-07 11:46:30 +02:00
Data diagnostics opt-in
This commit is contained in:
@@ -188,6 +188,9 @@
|
||||
<ProjectReference Include="..\..\..\common\logger\logger.vcxproj">
|
||||
<Project>{d9b8fc84-322a-4f9f-bbb9-20915c47ddfd}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\common\Telemetry\EtwTrace\EtwTrace.vcxproj">
|
||||
<Project>{8f021b46-362b-485c-bfba-ccf83e820cbd}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\common\Themes\Themes.vcxproj">
|
||||
<Project>{98537082-0fdb-40de-abd8-0dc5a4269bab}</Project>
|
||||
</ProjectReference>
|
||||
|
||||
@@ -65,7 +65,4 @@
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="PowerRenameUI.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Natvis Include="$(MSBuildThisFileDirectory)..\..\natvis\wil.natvis" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -22,7 +22,7 @@ using namespace PowerRenameUI::implementation;
|
||||
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
//#define DEBUG_BENCHMARK_100K_ENTRIES
|
||||
#define DEBUG_BENCHMARK_100K_ENTRIES
|
||||
|
||||
std::vector<std::wstring> g_files;
|
||||
|
||||
@@ -121,7 +121,7 @@ void App::OnLaunched(LaunchActivatedEventArgs const&)
|
||||
}
|
||||
|
||||
#ifdef DEBUG_BENCHMARK_100K_ENTRIES
|
||||
const std::wstring_view ROOT_PATH = L"R:\\PowerRenameBenchmark";
|
||||
const std::wstring_view ROOT_PATH = L"C:\\PowerRenameBenchmark";
|
||||
|
||||
std::wstring subdirectory_name = L"0";
|
||||
std::error_code _;
|
||||
@@ -136,7 +136,7 @@ void App::OnLaunched(LaunchActivatedEventArgs const&)
|
||||
|
||||
g_files.push_back(fs::path{ ROOT_PATH });
|
||||
constexpr int pow2_threshold = 10;
|
||||
constexpr int num_files = 100'000;
|
||||
constexpr int num_files = 10;
|
||||
for (int i = 0; i < num_files; ++i)
|
||||
{
|
||||
fs::path file_path{ ROOT_PATH };
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
#include <common/utils/logger_helper.h>
|
||||
#include <common/utils/process_path.h>
|
||||
|
||||
#include <common/Telemetry/EtwTrace/EtwTrace.h>
|
||||
|
||||
#include <atlstr.h>
|
||||
#include <exception>
|
||||
#include <string>
|
||||
@@ -211,6 +213,8 @@ namespace winrt::PowerRenameUI::implementation
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
m_etwTrace.UpdateState(true);
|
||||
|
||||
listView_ExplorerItems().ApplyTemplate();
|
||||
#ifdef ENABLE_RECYCLING_VIRTUALIZATION_MODE
|
||||
if (auto scrollViewer = FindScrollViewer(listView_ExplorerItems()); scrollViewer)
|
||||
@@ -313,6 +317,9 @@ namespace winrt::PowerRenameUI::implementation
|
||||
{
|
||||
LastRunSettingsInstance().UpdateLastWindowSize(m_updatedWindowSize->first, m_updatedWindowSize->second);
|
||||
}
|
||||
|
||||
m_etwTrace.Flush();
|
||||
m_etwTrace.UpdateState(false);
|
||||
}
|
||||
|
||||
void MainWindow::InvalidateItemListViewState()
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
#include "winrt/Windows.UI.Xaml.Interop.h"
|
||||
#include "winrt/Windows.UI.Xaml.Controls.Primitives.h"
|
||||
|
||||
#include <common/Telemetry/EtwTrace/EtwTrace.h>
|
||||
|
||||
#include "MainWindow.g.h"
|
||||
#include "PatternSnippet.h"
|
||||
#include "ExplorerItem.h"
|
||||
@@ -143,6 +145,8 @@ namespace winrt::PowerRenameUI::implementation
|
||||
void SetCheckboxesFromFlags(DWORD flags);
|
||||
void UpdateCounts();
|
||||
|
||||
Shared::Trace::ETWTrace m_etwTrace{};
|
||||
|
||||
HWND m_window{};
|
||||
|
||||
bool m_disableCountUpdate = false;
|
||||
|
||||
@@ -29,6 +29,4 @@
|
||||
#include <string>
|
||||
#include <random>
|
||||
|
||||
#include <ProjectTelemetry.h>
|
||||
|
||||
#include <winrt/base.h>
|
||||
|
||||
@@ -2,69 +2,66 @@
|
||||
#include "trace.h"
|
||||
#include "Settings.h"
|
||||
|
||||
#include <common/Telemetry/TraceBase.h>
|
||||
|
||||
TRACELOGGING_DEFINE_PROVIDER(
|
||||
g_hProvider,
|
||||
"Microsoft.PowerToys",
|
||||
// {38e8889b-9731-53f5-e901-e8a7c1753074}
|
||||
(0x38e8889b, 0x9731, 0x53f5, 0xe9, 0x01, 0xe8, 0xa7, 0xc1, 0x75, 0x30, 0x74),
|
||||
TraceLoggingOptionProjectTelemetry());
|
||||
|
||||
void Trace::RegisterProvider() noexcept
|
||||
{
|
||||
TraceLoggingRegister(g_hProvider);
|
||||
}
|
||||
|
||||
void Trace::UnregisterProvider() noexcept
|
||||
{
|
||||
TraceLoggingUnregister(g_hProvider);
|
||||
}
|
||||
g_hProvider,
|
||||
"Microsoft.PowerToys",
|
||||
// {38e8889b-9731-53f5-e901-e8a7c1753074}
|
||||
(0x38e8889b, 0x9731, 0x53f5, 0xe9, 0x01, 0xe8, 0xa7, 0xc1, 0x75, 0x30, 0x74),
|
||||
TraceLoggingOptionProjectTelemetry());
|
||||
|
||||
void Trace::Invoked() noexcept
|
||||
{
|
||||
TraceLoggingWrite(
|
||||
TraceLoggingWriteWrapper(
|
||||
g_hProvider,
|
||||
"PowerRename_Invoked",
|
||||
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
||||
TraceLoggingEventTag(MICROSOFT_EVENTTAG_DROP_PII));
|
||||
}
|
||||
|
||||
void Trace::InvokedRet(_In_ HRESULT hr) noexcept
|
||||
{
|
||||
TraceLoggingWrite(
|
||||
TraceLoggingWriteWrapper(
|
||||
g_hProvider,
|
||||
"PowerRename_InvokedRet",
|
||||
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
||||
TraceLoggingHResult(hr),
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
||||
TraceLoggingEventTag(MICROSOFT_EVENTTAG_DROP_PII));
|
||||
}
|
||||
|
||||
void Trace::EnablePowerRename(_In_ bool enabled) noexcept
|
||||
{
|
||||
TraceLoggingWrite(
|
||||
TraceLoggingWriteWrapper(
|
||||
g_hProvider,
|
||||
"PowerRename_EnablePowerRename",
|
||||
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
||||
TraceLoggingEventTag(MICROSOFT_EVENTTAG_DROP_PII),
|
||||
TraceLoggingBoolean(enabled, "Enabled"));
|
||||
}
|
||||
|
||||
void Trace::UIShownRet(_In_ HRESULT hr) noexcept
|
||||
{
|
||||
TraceLoggingWrite(
|
||||
TraceLoggingWriteWrapper(
|
||||
g_hProvider,
|
||||
"PowerRename_UIShownRet",
|
||||
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
||||
TraceLoggingHResult(hr),
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
||||
TraceLoggingEventTag(MICROSOFT_EVENTTAG_DROP_PII));
|
||||
}
|
||||
|
||||
void Trace::RenameOperation(_In_ UINT totalItemCount, _In_ UINT selectedItemCount, _In_ UINT renameItemCount, _In_ DWORD flags, _In_ PCWSTR extensionList) noexcept
|
||||
{
|
||||
TraceLoggingWrite(
|
||||
TraceLoggingWriteWrapper(
|
||||
g_hProvider,
|
||||
"PowerRename_RenameOperation",
|
||||
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
||||
TraceLoggingEventTag(MICROSOFT_EVENTTAG_DROP_PII),
|
||||
TraceLoggingUInt32(totalItemCount, "TotalItemCount"),
|
||||
TraceLoggingUInt32(selectedItemCount, "SelectedItemCount"),
|
||||
TraceLoggingUInt32(renameItemCount, "RenameItemCount"),
|
||||
@@ -74,11 +71,12 @@ void Trace::RenameOperation(_In_ UINT totalItemCount, _In_ UINT selectedItemCoun
|
||||
|
||||
void Trace::SettingsChanged() noexcept
|
||||
{
|
||||
TraceLoggingWrite(
|
||||
TraceLoggingWriteWrapper(
|
||||
g_hProvider,
|
||||
"PowerRename_SettingsChanged",
|
||||
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
||||
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
||||
TraceLoggingEventTag(MICROSOFT_EVENTTAG_DROP_PII),
|
||||
TraceLoggingBoolean(CSettingsInstance().GetEnabled(), "IsEnabled"),
|
||||
TraceLoggingBoolean(CSettingsInstance().GetShowIconOnMenu(), "ShowIconOnMenu"),
|
||||
TraceLoggingBoolean(CSettingsInstance().GetExtendedContextMenuOnly(), "ExtendedContextMenuOnly"),
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
class Trace {
|
||||
#include <common/Telemetry/TraceBase.h>
|
||||
|
||||
class Trace : public telemetry::TraceBase {
|
||||
public:
|
||||
static void RegisterProvider() noexcept;
|
||||
static void UnregisterProvider() noexcept;
|
||||
static void Invoked() noexcept;
|
||||
static void InvokedRet(_In_ HRESULT hr) noexcept;
|
||||
static void EnablePowerRename(_In_ bool enabled) noexcept;
|
||||
|
||||
Reference in New Issue
Block a user