Skip to content

.NET Install Tool Log should have 'sha' or 'guids' for shared Core Command Events #2576

@nagilson

Description

@nagilson

Our logs log these events and handle concurrent calls. We should generate a random guid/sha for each 'set of action flows' to make the log more readable, as it will currently show concurrent actions out of order (fair and ok, because they should be concurrent.)

e.g.
2/20/2026, 11:58:26 AM 980 DotnetRuntimeAcquisitionStarted
2/20/2026, 11:58:26 AM 999 DotnetRuntimeAcquisitionStarted
2/20/2026, 11:58:27 AM 100 DotnetRuntimeAcquisitionTotalSuccessEvent

^ I can now tell from the log which one 'succeeded' regardless of the order of which one finishes first.
Please try to avoid creating a bunch of extra parameters which get passed around from function to function.

Here are some of the groups which should have a shared 'sha' prefix outcome in the log:

DotnetGlobalSDKAcquisitionError, DotnetGlobalSDKAcquisitionTotalSuccessEvent, DotnetGlobalSDKAcquisitionStarted

DotnetRuntimeFinalAcquisitionError, DotnetRuntimeAcquisitionStarted, DotnetRuntimeAcquisitionTotalSuccessEvent DotnetASPNetRuntimeFinalAcquisitionError,
DotnetASPNetRuntimeAcquisitionStarted, DotnetASPNetRuntimeAcquisitionTotalSuccessEvent

DotnetUninstallAllStarted, DotnetUninstallAllCompleted

DotnetExistingPathResolutionCompleted ^ connected for others to use their sha depending on the caller

DotnetFindPathCommandInvoked, DotnetFindPathLookupSetting, DotnetFindPathSettingFound, DotnetFindPathLookupPATH, DotnetFindPathPATHFound, DotnetFindPathLookupRealPATH, DotnetFindPathRealPATHFound, DotnetConditionsValidated, DotnetFindPathHostFxrResolutionLookup , DotnetFindPathOnRegistry, DotnetFindPathNoHostOnRegistry, DotnetFindPathOnFileSystem, DotnetFindPathRootEmulationPATHFound, etc ... to DotnetFindPathNoPathMetCondition, DotnetFindPathDidNotMeetConditionDotnetFindPathMetCondition

DotnetVersionResolutionCompleted ^ for others

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions