From 5f3b6698aecf3e4d6095be6527fc29894c63f2e9 Mon Sep 17 00:00:00 2001 From: Howard Kapustein Date: Thu, 27 Mar 2025 16:07:37 -0700 Subject: [PATCH 1/2] Improve TraceLogging --- dev/Deployment/DeploymentTraceLogging.h | 1 + dev/Deployment/DeploymentTracelogging.cpp | 1 - .../API/M.W.M.D.PackageDeploymentManager.cpp | 3 +++ .../API/PackageDeploymentResolver.cpp | 8 ++++++++ .../MddBootstrap.cpp | 5 +++++ .../MddBootstrapTracelogging.h | 16 +++++++--------- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/dev/Deployment/DeploymentTraceLogging.h b/dev/Deployment/DeploymentTraceLogging.h index 9805f7073e..f8f90e79c4 100644 --- a/dev/Deployment/DeploymentTraceLogging.h +++ b/dev/Deployment/DeploymentTraceLogging.h @@ -101,4 +101,5 @@ class WindowsAppRuntimeDeployment_TraceLogger final : public wil::TraceLoggingPr TraceLoggingValue(failure.uLineNumber, "Line"),\ TraceLoggingValue(failure.pszMessage, "Message"),\ TraceLoggingValue(failure.pszModule, "Module"),\ + _GENERIC_PARTB_FIELDS_ENABLED,\ __VA_ARGS__) diff --git a/dev/Deployment/DeploymentTracelogging.cpp b/dev/Deployment/DeploymentTracelogging.cpp index 568b733c99..7311e35eaa 100644 --- a/dev/Deployment/DeploymentTracelogging.cpp +++ b/dev/Deployment/DeploymentTracelogging.cpp @@ -27,7 +27,6 @@ void __stdcall wilResultLoggingCallback(const wil::FailureInfo& failure) noexcep // Failure in restarting PushNotificationsLRP is non-blocking to the installer functionality WindowsAppRuntimeDeployment_WriteEventWithActivity( "RestartPushNotificationsLRPFailed", - _GENERIC_PARTB_FIELDS_ENABLED, TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), TraceLoggingKeyword(MICROSOFT_KEYWORD_CRITICAL_DATA)); } diff --git a/dev/PackageManager/API/M.W.M.D.PackageDeploymentManager.cpp b/dev/PackageManager/API/M.W.M.D.PackageDeploymentManager.cpp index a2df4eaf92..d6ea276326 100644 --- a/dev/PackageManager/API/M.W.M.D.PackageDeploymentManager.cpp +++ b/dev/PackageManager/API/M.W.M.D.PackageDeploymentManager.cpp @@ -254,6 +254,7 @@ namespace winrt::Microsoft::Windows::Management::Deployment::implementation TraceLoggingWideString(packageSetItem.PackageFamilyName().c_str(), "Criteria.PackageFamilyName"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(packageSetItem.ProcessorArchitectureFilter()), "Criteria.ArchitectureFilter"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); return false; @@ -351,6 +352,7 @@ namespace winrt::Microsoft::Windows::Management::Deployment::implementation TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(packageSetItem.ProcessorArchitectureFilter()), "Criteria.ArchitectureFilter"), TraceLoggingInt32(static_cast(status), "PackageReadyOrNewerAvailableStatus"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); return winrt::Microsoft::Windows::Management::Deployment::PackageReadyOrNewerAvailableStatus::NotReady; @@ -366,6 +368,7 @@ namespace winrt::Microsoft::Windows::Management::Deployment::implementation TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(packageSetItem.ProcessorArchitectureFilter()), "Criteria.ArchitectureFilter"), TraceLoggingInt32(static_cast(status), "PackageReadyOrNewerAvailableStatus"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); newerAvailable = true; diff --git a/dev/PackageManager/API/PackageDeploymentResolver.cpp b/dev/PackageManager/API/PackageDeploymentResolver.cpp index 63d7cd12fb..a9039cee7c 100644 --- a/dev/PackageManager/API/PackageDeploymentResolver.cpp +++ b/dev/PackageManager/API/PackageDeploymentResolver.cpp @@ -187,6 +187,7 @@ winrt::hstring Microsoft::Windows::ApplicationModel::PackageDeploymentResolver:: TraceLoggingWideString(packageFamilyName.c_str(), "Criteria.PackageFamilyName"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(processorArchitectureFilter), "Criteria.ArchitectureFilter"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); if (packages) @@ -212,6 +213,7 @@ winrt::hstring Microsoft::Windows::ApplicationModel::PackageDeploymentResolver:: TraceLoggingWideString(packageFamilyName.c_str(), "Criteria.PackageFamilyName"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(processorArchitectureFilter), "Criteria.ArchitectureFilter"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); continue; @@ -243,6 +245,7 @@ winrt::hstring Microsoft::Windows::ApplicationModel::PackageDeploymentResolver:: TraceLoggingInt32(static_cast(candidateArchitecture), "Architecture"), TraceLoggingHexInt32(static_cast(supportedArchitectures), "SupportedArchitectures"), TraceLoggingUInt16(static_cast(nativeMachine), "NativeMachineArchitecture"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); continue; @@ -260,6 +263,7 @@ winrt::hstring Microsoft::Windows::ApplicationModel::PackageDeploymentResolver:: TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(processorArchitectureFilter), "Criteria.ArchitectureFilter"), TraceLoggingInt32(static_cast(candidateArchitecture), "Architecture"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); continue; @@ -278,6 +282,7 @@ winrt::hstring Microsoft::Windows::ApplicationModel::PackageDeploymentResolver:: TraceLoggingWideString(packageFamilyName.c_str(), "Criteria.PackageFamilyName"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(processorArchitectureFilter), "Criteria.ArchitectureFilter"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); continue; @@ -293,6 +298,7 @@ winrt::hstring Microsoft::Windows::ApplicationModel::PackageDeploymentResolver:: TraceLoggingWideString(packageFamilyName.c_str(), "Criteria.PackageFamilyName"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(processorArchitectureFilter), "Criteria.ArchitectureFilter"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); return candidateFullName; @@ -313,6 +319,7 @@ winrt::hstring Microsoft::Windows::ApplicationModel::PackageDeploymentResolver:: TraceLoggingWideString(packageFamilyName.c_str(), "Criteria.PackageFamilyName"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(processorArchitectureFilter), "Criteria.ArchitectureFilter"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } @@ -325,6 +332,7 @@ winrt::hstring Microsoft::Windows::ApplicationModel::PackageDeploymentResolver:: TraceLoggingWideString(packageFamilyName.c_str(), "Criteria.PackageFamilyName"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingHexInt32(static_cast(processorArchitectureFilter), "Criteria.ArchitectureFilter"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } diff --git a/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrap.cpp b/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrap.cpp index 0525ab81db..8828858b8d 100644 --- a/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrap.cpp +++ b/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrap.cpp @@ -889,6 +889,7 @@ void FindDDLMViaEnumeration( TraceLoggingHexUInt32(majorMinorVersion, "Criteria.MajorMinorVersion"), TraceLoggingWideString(!versionTag ? L"" : versionTag, "Criteria.VersionTag"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); int packagesScanned{}; @@ -984,6 +985,7 @@ void FindDDLMViaEnumeration( TraceLoggingHexUInt32(majorMinorVersion, "Criteria.MajorMinorVersion"), TraceLoggingWideString(!versionTag ? L"" : versionTag, "Criteria.VersionTag"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); continue; @@ -1002,6 +1004,7 @@ void FindDDLMViaEnumeration( TraceLoggingWideString(!versionTag ? L"" : versionTag, "Criteria.VersionTag"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingWideString(::AppModel::Identity::GetCurrentArchitectureAsString(), "CurrentArchitecture"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); continue; @@ -1017,6 +1020,7 @@ void FindDDLMViaEnumeration( TraceLoggingHexUInt32(majorMinorVersion, "Criteria.MajorMinorVersion"), TraceLoggingWideString(!versionTag ? L"" : versionTag, "Criteria.VersionTag"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); bestFitVersion = version; @@ -1040,6 +1044,7 @@ void FindDDLMViaEnumeration( TraceLoggingWideString(!versionTag ? L"" : versionTag, "Criteria.VersionTag"), TraceLoggingHexUInt64(minVersion.Version, "Criteria.MinVersion"), TraceLoggingInt32(packagesScanned, "PackagesScanned"), + _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); ddlmPackageFamilyName = bestFitPackageFamilyName.c_str(); diff --git a/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrapTracelogging.h b/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrapTracelogging.h index e18985d942..ed8b043257 100644 --- a/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrapTracelogging.h +++ b/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrapTracelogging.h @@ -130,13 +130,11 @@ class WindowsAppRuntimeBootstrap_TraceLogger final : public wil::TraceLoggingPro _eventname_,\ _activityId_,\ nullptr,\ - _WRITE_FAILURE_INFO,\ + TraceLoggingValue(static_cast(failure.type), "Type"),\ + TraceLoggingValue(failure.hr, "HResult"),\ + TraceLoggingValue(failure.pszFile, "File"),\ + TraceLoggingValue(failure.uLineNumber,"Line"),\ + TraceLoggingValue(failure.pszModule, "Module"),\ + TraceLoggingValue(failure.pszMessage,"Message"),\ + _GENERIC_PARTB_FIELDS_ENABLED,\ __VA_ARGS__) - -#define _WRITE_FAILURE_INFO \ - TraceLoggingValue(static_cast(failure.type), "Type"),\ - TraceLoggingValue(failure.hr, "HResult"),\ - TraceLoggingValue(failure.pszFile, "File"),\ - TraceLoggingValue(failure.uLineNumber,"Line"),\ - TraceLoggingValue(failure.pszModule, "Module"),\ - TraceLoggingValue(failure.pszMessage,"Message") From 3e35724dcf2430ff2755764ded97b1c2db3221db Mon Sep 17 00:00:00 2001 From: Howard Kapustein Date: Thu, 27 Mar 2025 16:19:04 -0700 Subject: [PATCH 2/2] Added missing PDT --- dev/Deployment/DeploymentTraceLogging.h | 6 ++++-- .../MddBootstrapTracelogging.h | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/dev/Deployment/DeploymentTraceLogging.h b/dev/Deployment/DeploymentTraceLogging.h index f8f90e79c4..f4f5e32a87 100644 --- a/dev/Deployment/DeploymentTraceLogging.h +++ b/dev/Deployment/DeploymentTraceLogging.h @@ -35,7 +35,8 @@ class WindowsAppRuntimeDeployment_TraceLogger final : public wil::TraceLoggingPr TraceLoggingValue(isPackagedProcess, "isPackagedProcess"), TraceLoggingValue(isFullTrustPackage, "isFullTrustPackage"), TraceLoggingValue(integrityLevel, "integrityLevel"), - TraceLoggingValue(isRepair, "isRepairAPI")); + TraceLoggingValue(isRepair, "isRepairAPI"), + TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } void StopWithResult( HRESULT hresult, @@ -71,7 +72,8 @@ class WindowsAppRuntimeDeployment_TraceLogger final : public wil::TraceLoggingPr TraceLoggingValue(deploymentErrorExtendedHResult, "DeploymentErrorExtendedHResult"), TraceLoggingValue(deploymentErrorText, "DeploymentErrorText"), TraceLoggingValue(deploymentErrorActivityId, "DeploymentErrorActivityId"), - TraceLoggingValue(useExistingPackageIfHigherVersion, "useExistingPackageIfHigherVersion")); + TraceLoggingValue(useExistingPackageIfHigherVersion, "useExistingPackageIfHigherVersion"), + TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } else { diff --git a/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrapTracelogging.h b/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrapTracelogging.h index ed8b043257..21cc067433 100644 --- a/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrapTracelogging.h +++ b/dev/WindowsAppRuntime_BootstrapDLL/MddBootstrapTracelogging.h @@ -35,7 +35,8 @@ class WindowsAppRuntimeBootstrap_TraceLogger final : public wil::TraceLoggingPro TraceLoggingValue(!versionTag ? L"": versionTag, "versionTag"), TraceLoggingValue(minVersion.Version, "minVersion"), TraceLoggingValue(mddInitializeOptions, "mddInitializeOptions"), - TraceLoggingValue(initializationCount, "initializationCount")); + TraceLoggingValue(initializationCount, "initializationCount"), + TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } void StopWithResult( const HRESULT hresult, @@ -61,7 +62,8 @@ class WindowsAppRuntimeBootstrap_TraceLogger final : public wil::TraceLoggingPro TraceLoggingValue(failureFile, "failureFile"), TraceLoggingValue(failureLineNumber, "failureLineNumber"), TraceLoggingValue(failureMessage, "failureMessage"), - TraceLoggingValue(failureModule, "failureModule")); + TraceLoggingValue(failureModule, "failureModule"), + TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } else { @@ -69,7 +71,8 @@ class WindowsAppRuntimeBootstrap_TraceLogger final : public wil::TraceLoggingPro _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingValue(initializationCount, "initializationCount"), TraceLoggingValue(IntegrityFlags, "IntegrityFlags"), - TraceLoggingValue(resolvedFrameworkPackageFullName, "resolvedFrameworkPackageFullName")); + TraceLoggingValue(resolvedFrameworkPackageFullName, "resolvedFrameworkPackageFullName"), + TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } } END_ACTIVITY_CLASS(); @@ -86,7 +89,8 @@ class WindowsAppRuntimeBootstrap_TraceLogger final : public wil::TraceLoggingPro TraceLoggingClassWriteStart(Shutdown, _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingValue(initializationCount, "initializationCount"), - TraceLoggingValue(resolvedFrameworkPackageFullName, "resolvedFrameworkPackageFullName")); + TraceLoggingValue(resolvedFrameworkPackageFullName, "resolvedFrameworkPackageFullName"), + TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } void StopWithResult( HRESULT hresult, @@ -108,13 +112,15 @@ class WindowsAppRuntimeBootstrap_TraceLogger final : public wil::TraceLoggingPro TraceLoggingValue(failureFile, "FailureFile"), TraceLoggingValue(failureLineNumber, "FailureLineNumber"), TraceLoggingValue(failureMessage, "FailureMessage"), - TraceLoggingValue(failureModule, "FailureModule")); + TraceLoggingValue(failureModule, "FailureModule"), + TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } else { TraceLoggingClassWriteStop(Shutdown, _GENERIC_PARTB_FIELDS_ENABLED, - TraceLoggingValue(initializationCount, "initializationCount")); + TraceLoggingValue(initializationCount, "initializationCount"), + TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance)); } } END_ACTIVITY_CLASS();