From b892e731d91509b471f8f2eb98abb6dbf70ba3dd Mon Sep 17 00:00:00 2001 From: Chris Davis Date: Mon, 28 Oct 2019 10:14:59 -0700 Subject: [PATCH] Add new icon as well as telemetry (#563) * Update icon and add telemetry calls This change adds the new PowerRename icon and includes telemetry calls * Ensure string is freed * Update event naming convention * Delete PowerRenameDemo.gif Deleting this gif as I added it with a separate commit with the README.md update for PowerRename --- .../powerrename/dll/PowerRenameExt.cpp | 31 +++++--- src/modules/powerrename/dll/dllmain.cpp | 5 ++ .../powerrename/lib/PowerRenameLib.vcxproj | 4 + .../powerrename/lib/PowerRenameManager.cpp | 55 +++++++++++++ .../powerrename/lib/PowerRenameManager.h | 2 + src/modules/powerrename/lib/stdafx.h | 2 + src/modules/powerrename/lib/trace.cpp | 73 ++++++++++++++++++ src/modules/powerrename/lib/trace.h | 17 ++++ .../testapp/PowerRenameTest.vcxproj | 2 + src/modules/powerrename/ui/PowerRename.ico | Bin 0 -> 82726 bytes src/modules/powerrename/ui/PowerRenameUI.rc | Bin 10642 -> 10652 bytes .../powerrename/ui/PowerRenameUI.vcxproj | 2 + src/modules/powerrename/ui/Rename.ico | Bin 108583 -> 0 bytes .../unittests/PowerRenameLibUnitTests.vcxproj | 4 +- 14 files changed, 184 insertions(+), 13 deletions(-) create mode 100644 src/modules/powerrename/lib/trace.cpp create mode 100644 src/modules/powerrename/lib/trace.h create mode 100644 src/modules/powerrename/ui/PowerRename.ico delete mode 100644 src/modules/powerrename/ui/Rename.ico diff --git a/src/modules/powerrename/dll/PowerRenameExt.cpp b/src/modules/powerrename/dll/PowerRenameExt.cpp index 4e9c7ea4c9..8097f793dd 100644 --- a/src/modules/powerrename/dll/PowerRenameExt.cpp +++ b/src/modules/powerrename/dll/PowerRenameExt.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "resource.h" extern HINSTANCE g_hInst; @@ -88,23 +89,24 @@ HRESULT CPowerRenameMenu::QueryContextMenu(HMENU hMenu, UINT index, UINT uIDFirs HRESULT CPowerRenameMenu::InvokeCommand(_In_ LPCMINVOKECOMMANDINFO pici) { - // Check if we have disabled ourselves - if (!IsEnabled()) - return E_FAIL; - HRESULT hr = E_FAIL; - if ((IS_INTRESOURCE(pici->lpVerb)) && + if (IsEnabled() & + (IS_INTRESOURCE(pici->lpVerb)) && (LOWORD(pici->lpVerb) == 0)) { + Trace::Invoked(); IStream* pstrm = nullptr; - if (SUCCEEDED(CoMarshalInterThreadInterfaceInStream(__uuidof(m_spdo), m_spdo, &pstrm))) + hr = CoMarshalInterThreadInterfaceInStream(__uuidof(m_spdo), m_spdo, &pstrm); + if (SUCCEEDED(hr)) { if (!SHCreateThread(s_PowerRenameUIThreadProc, pstrm, CTF_COINIT | CTF_PROCESS_REF, nullptr)) { pstrm->Release(); // if we failed to create the thread, then we must release the stream + hr = E_FAIL; } } + Trace::InvokedRet(hr); } return hr; @@ -114,22 +116,27 @@ DWORD WINAPI CPowerRenameMenu::s_PowerRenameUIThreadProc(_In_ void* pData) { IStream* pstrm = static_cast(pData); CComPtr spdo; - if (SUCCEEDED(CoGetInterfaceAndReleaseStream(pstrm, IID_PPV_ARGS(&spdo)))) + HRESULT hr = CoGetInterfaceAndReleaseStream(pstrm, IID_PPV_ARGS(&spdo)); + if (SUCCEEDED(hr)) { // Create the smart rename manager CComPtr spsrm; - if (SUCCEEDED(CPowerRenameManager::s_CreateInstance(&spsrm))) + hr = CPowerRenameManager::s_CreateInstance(&spsrm); + if (SUCCEEDED(hr)) { // Create the factory for our items CComPtr spsrif; - if (SUCCEEDED(CPowerRenameItem::s_CreateInstance(nullptr, IID_PPV_ARGS(&spsrif)))) + hr = CPowerRenameItem::s_CreateInstance(nullptr, IID_PPV_ARGS(&spsrif)); + if (SUCCEEDED(hr)) { // Pass the factory to the manager - if (SUCCEEDED(spsrm->put_smartRenameItemFactory(spsrif))) + hr = spsrm->put_smartRenameItemFactory(spsrif); + if (SUCCEEDED(hr)) { // Create the smart rename UI instance and pass the smart rename manager CComPtr spsrui; - if (SUCCEEDED(CPowerRenameUI::s_CreateInstance(spsrm, spdo, false, &spsrui))) + hr = CPowerRenameUI::s_CreateInstance(spsrm, spdo, false, &spsrui); + if (SUCCEEDED(hr)) { // Call blocks until we are done spsrui->Show(); @@ -143,5 +150,7 @@ DWORD WINAPI CPowerRenameMenu::s_PowerRenameUIThreadProc(_In_ void* pData) } } + Trace::UIShownRet(hr); + return 0; } diff --git a/src/modules/powerrename/dll/dllmain.cpp b/src/modules/powerrename/dll/dllmain.cpp index 61d02a525c..254213e3cb 100644 --- a/src/modules/powerrename/dll/dllmain.cpp +++ b/src/modules/powerrename/dll/dllmain.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "PowerRenameExt.h" #include +#include #include DWORD g_dwModuleRefCount = 0; @@ -96,9 +97,11 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, void*) { case DLL_PROCESS_ATTACH: g_hInst = hInstance; + Trace::RegisterProvider(); break; case DLL_PROCESS_DETACH: + Trace::RegisterProvider(); break; } return TRUE; @@ -233,11 +236,13 @@ public: void init_settings() { m_enabled = CPowerRenameMenu::IsEnabled(); + Trace::EnablePowerRename(m_enabled); } void save_settings() { CPowerRenameMenu::SetEnabled(m_enabled); + Trace::EnablePowerRename(m_enabled); } PowerRenameModule() diff --git a/src/modules/powerrename/lib/PowerRenameLib.vcxproj b/src/modules/powerrename/lib/PowerRenameLib.vcxproj index 6c61aa9f26..800c6af015 100644 --- a/src/modules/powerrename/lib/PowerRenameLib.vcxproj +++ b/src/modules/powerrename/lib/PowerRenameLib.vcxproj @@ -98,6 +98,7 @@ true stdcpp17 MultiThreadedDebug + ..\;..\..\..\common;..\..\..\common\telemetry;..\..\ Windows @@ -132,6 +133,7 @@ true stdcpp17 MultiThreaded + ..\;..\..\..\common;..\..\..\common\telemetry;..\..\ Windows @@ -148,6 +150,7 @@ + @@ -160,6 +163,7 @@ Create Create + diff --git a/src/modules/powerrename/lib/PowerRenameManager.cpp b/src/modules/powerrename/lib/PowerRenameManager.cpp index 69cd8c4001..ba79ca25dd 100644 --- a/src/modules/powerrename/lib/PowerRenameManager.cpp +++ b/src/modules/powerrename/lib/PowerRenameManager.cpp @@ -5,6 +5,8 @@ #include #include "helpers.h" #include +#include "trace.h" + namespace fs = std::filesystem; extern HINSTANCE g_hInst; @@ -407,6 +409,57 @@ LRESULT CPowerRenameManager::_WndProc(_In_ HWND hwnd, _In_ UINT msg, _In_ WPARAM return lRes; } +void CPowerRenameManager::_LogOperationTelemetry() +{ + UINT renameItemCount = 0; + UINT selectedItemCount = 0; + UINT totalItemCount = 0; + DWORD flags = 0; + + GetItemCount(&totalItemCount); + GetSelectedItemCount(&selectedItemCount); + GetRenameItemCount(&renameItemCount); + get_flags(&flags); + + + // Enumerate extensions used into a map + std::map extensionsMap; + for (UINT i = 0; i < totalItemCount; i++) + { + CComPtr spItem; + if (SUCCEEDED(GetItemByIndex(i, &spItem))) + { + PWSTR originalName; + if (SUCCEEDED(spItem->get_originalName(&originalName))) + { + std::wstring extension = fs::path(originalName).extension().wstring(); + std::map::iterator it = extensionsMap.find(extension); + if (it == extensionsMap.end()) + { + extensionsMap.insert({ extension, 1 }); + } + else + { + it->second++; + } + + CoTaskMemFree(originalName); + } + } + } + + std::wstring extensionList = L""; + for (auto elem : extensionsMap) + { + extensionList.append(elem.first); + extensionList.append(L":"); + extensionList.append(std::to_wstring(elem.second)); + extensionList.append(L","); + } + + Trace::RenameOperation(totalItemCount, selectedItemCount, renameItemCount, flags, extensionList.c_str()); +} + HRESULT CPowerRenameManager::_PerformFileOperation() { // Do we have items to rename? @@ -416,6 +469,8 @@ HRESULT CPowerRenameManager::_PerformFileOperation() return E_FAIL; } + _LogOperationTelemetry(); + // Wait for existing regex thread to finish _WaitForRegExWorkerThread(); diff --git a/src/modules/powerrename/lib/PowerRenameManager.h b/src/modules/powerrename/lib/PowerRenameManager.h index 0179e3b4fe..08ca87abb9 100644 --- a/src/modules/powerrename/lib/PowerRenameManager.h +++ b/src/modules/powerrename/lib/PowerRenameManager.h @@ -82,6 +82,8 @@ protected: static LRESULT CALLBACK s_msgWndProc(_In_ HWND hwnd, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam); LRESULT _WndProc(_In_ HWND hwnd, _In_ UINT msg, _In_ WPARAM wParam, _In_ LPARAM lParam); + void _LogOperationTelemetry(); + HANDLE m_regExWorkerThreadHandle = nullptr; HANDLE m_startRegExWorkerEvent = nullptr; HANDLE m_cancelRegExWorkerEvent = nullptr; diff --git a/src/modules/powerrename/lib/stdafx.h b/src/modules/powerrename/lib/stdafx.h index c15286029b..befa9aea75 100644 --- a/src/modules/powerrename/lib/stdafx.h +++ b/src/modules/powerrename/lib/stdafx.h @@ -17,4 +17,6 @@ #include #include +#include + #include "PowerRenameInterfaces.h" \ No newline at end of file diff --git a/src/modules/powerrename/lib/trace.cpp b/src/modules/powerrename/lib/trace.cpp new file mode 100644 index 0000000000..811e9a26ff --- /dev/null +++ b/src/modules/powerrename/lib/trace.cpp @@ -0,0 +1,73 @@ +#include "stdafx.h" +#include "trace.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); +} + +void Trace::Invoked() noexcept +{ + TraceLoggingWrite( + g_hProvider, + "PowerRename_Invoked", + ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance), + TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE)); +} + +void Trace::InvokedRet(_In_ HRESULT hr) noexcept +{ + TraceLoggingWrite( + g_hProvider, + "PowerRename_InvokedRet", + ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance), + TraceLoggingHResult(hr), + TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE)); +} + +void Trace::EnablePowerRename(_In_ bool enabled) noexcept +{ + TraceLoggingWrite( + g_hProvider, + "PowerRename_EnablePowerRename", + ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance), + TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE), + TraceLoggingBoolean(enabled, "Enabled")); +} + +void Trace::UIShownRet(_In_ HRESULT hr) noexcept +{ + TraceLoggingWrite( + g_hProvider, + "PowerRename_UIShownRet", + ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance), + TraceLoggingHResult(hr), + TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE)); +} + +void Trace::RenameOperation(_In_ UINT totalItemCount, _In_ UINT selectedItemCount, _In_ UINT renameItemCount, _In_ DWORD flags, _In_ PCWSTR extensionList) noexcept +{ + TraceLoggingWrite( + g_hProvider, + "PowerRename_RenameOperation", + ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance), + TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE), + TraceLoggingUInt32(totalItemCount, "TotalItemCount"), + TraceLoggingUInt32(selectedItemCount, "SelectedItemCount"), + TraceLoggingUInt32(renameItemCount, "RenameItemCount"), + TraceLoggingInt32(flags, "Flags"), + TraceLoggingWideString(extensionList, "ExtensionList")); +} + diff --git a/src/modules/powerrename/lib/trace.h b/src/modules/powerrename/lib/trace.h new file mode 100644 index 0000000000..4f5533bf7b --- /dev/null +++ b/src/modules/powerrename/lib/trace.h @@ -0,0 +1,17 @@ +#pragma once + +class Trace { +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; + static void UIShownRet(_In_ HRESULT hr) noexcept; + static void RenameOperation( + _In_ UINT totalItemCount, + _In_ UINT selectedItemCount, + _In_ UINT renameItemCount, + _In_ DWORD flags, + _In_ PCWSTR extensionList) noexcept; +}; diff --git a/src/modules/powerrename/testapp/PowerRenameTest.vcxproj b/src/modules/powerrename/testapp/PowerRenameTest.vcxproj index 62a34eb08e..b9595afbd7 100644 --- a/src/modules/powerrename/testapp/PowerRenameTest.vcxproj +++ b/src/modules/powerrename/testapp/PowerRenameTest.vcxproj @@ -115,6 +115,7 @@ true stdcpp17 MultiThreadedDebug + ..\;..\..\..\common;..\..\..\common\telemetry;..\..\ Windows @@ -155,6 +156,7 @@ true stdcpp17 MultiThreaded + ..\;..\..\..\common;..\..\..\common\telemetry;..\..\ Windows diff --git a/src/modules/powerrename/ui/PowerRename.ico b/src/modules/powerrename/ui/PowerRename.ico new file mode 100644 index 0000000000000000000000000000000000000000..5070d82e298b3cc373165a7610f6bb4cca6bb7b8 GIT binary patch literal 82726 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 literal 0 HcmV?d00001 diff --git a/src/modules/powerrename/ui/PowerRenameUI.rc b/src/modules/powerrename/ui/PowerRenameUI.rc index 19531cf99321a234317120b2dd8742743689e514..1db823711f1378a6e16ca77199405bce94638f51 100644 GIT binary patch delta 16 XcmbOfJSTVqo6_VsWwFgdN)7A)Gin7z delta 16 XcmbOeJSlhso6_Wc$~>E8lp5FpHfjZ> diff --git a/src/modules/powerrename/ui/PowerRenameUI.vcxproj b/src/modules/powerrename/ui/PowerRenameUI.vcxproj index 4ee7ffa188..17a66340fc 100644 --- a/src/modules/powerrename/ui/PowerRenameUI.vcxproj +++ b/src/modules/powerrename/ui/PowerRenameUI.vcxproj @@ -115,6 +115,7 @@ true stdcpp17 MultiThreadedDebug + ..\;..\..\..\common;..\..\..\common\telemetry;..\..\ Windows @@ -152,6 +153,7 @@ true stdcpp17 MultiThreaded + ..\;..\..\..\common;..\..\..\common\telemetry;..\..\ Windows diff --git a/src/modules/powerrename/ui/Rename.ico b/src/modules/powerrename/ui/Rename.ico deleted file mode 100644 index d96be9175d8248fc7f7eaf0c44d5eb3acbd4f75d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108583 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≤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

C> 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 diff --git a/src/modules/powerrename/unittests/PowerRenameLibUnitTests.vcxproj b/src/modules/powerrename/unittests/PowerRenameLibUnitTests.vcxproj index 0e938a5406..009ceecd4e 100644 --- a/src/modules/powerrename/unittests/PowerRenameLibUnitTests.vcxproj +++ b/src/modules/powerrename/unittests/PowerRenameLibUnitTests.vcxproj @@ -116,7 +116,7 @@ Use Level3 Disabled - $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) + ..\;..\..\..\common;..\..\..\common\telemetry;..\..\;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) _DEBUG;%(PreprocessorDefinitions) true stdcpp17 @@ -156,7 +156,7 @@ MaxSpeed true true - $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) + ..\;..\..\..\common;..\..\..\common\telemetry;..\..\;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) NDEBUG;%(PreprocessorDefinitions) true stdcpp17