Add per-task telemetry event (build/tasks/details) end-to-end [VMR review preview] - #1
Closed
jankratochvilcz wants to merge 1 commit into
Closed
Add per-task telemetry event (build/tasks/details) end-to-end [VMR review preview]#1jankratochvilcz wants to merge 1 commit into
jankratochvilcz wants to merge 1 commit into
Conversation
Combines two upstream PRs into a single VMR changeset so the MSBuild emit and SDK forward arrive together: - dotnet/msbuild#13609: emit new 'build/tasks/details' event from BuildManager with TaskCount/TotalTaskCount/Tasks (JSON, top 100 by ExecutionsCount). Serialization helper lives in src/Build (System.Text.Json), gated by MSBUILDTELEMETRYEXCLUDETASKSDETAILS. - dotnet/sdk#54092: SDK MSBuildLogger pass-through-forwards the event under the 'msbuild/' namespace; payload is already aggregated and hashed in MSBuild, no client-side aggregation. Motivation: CLI telemetry sink only accepts IDictionary<string,string?>, so per-task data has to be reduced to a JSON string in the engine before it can leave; VS path already had this via TelemetryComplexProperty. This closes the blind spot for SDK/CLI users. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Owner
Author
|
Retargeting to upstream dotnet/dotnet |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Combines two upstream PRs into a single VMR changeset for easier end-to-end review:
build/tasks/detailsevent fromBuildManagerwithTaskCount/TotalTaskCount/Tasks(JSON, top 100 byExecutionsCount). Serialization helper lives insrc/Buildso it can useSystem.Text.Jsondirectly (no new package deps on net472/net10). Gated by the existingMSBUILDTELEMETRYEXCLUDETASKSDETAILSenv var.MSBuildLoggerpass-through-forwards the event under themsbuild/namespace. No client-side aggregation — MSBuild already does the capping/hashing.Motivation
The CLI/SDK telemetry sink only accepts
IDictionary<string, string?>, so per-task data has to be reduced to a JSON string in the engine before it can leave. The VS path already had this viaTelemetryComplexProperty. Closes the blind spot for SDK/CLI users so we have real-world frequency data to drive decisions about which built-in tasks to prioritize / optimize.Files touched
MSBuild (5):
src/msbuild/src/Build/BackEnd/BuildManager/BuildManager.cssrc/msbuild/src/Build/Microsoft.Build.csprojsrc/msbuild/src/Build/TelemetryInfra/TasksDetailsTelemetry.cs(new)src/msbuild/src/Framework/Telemetry/TelemetryDataUtils.cssrc/msbuild/src/Build.UnitTests/Telemetry/Telemetry_Tests.csSDK (2):
src/sdk/src/Cli/dotnet/Commands/MSBuild/MSBuildLogger.cssrc/sdk/test/dotnet.Tests/CommandTests/MSBuild/GivenMSBuildLogger.csNote
This branch is for review convenience only — actual merges go to the individual repos.