dotnet / msbuild

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
https://docs.microsoft.com/visualstudio/msbuild/msbuild
MIT License
5.22k stars 1.35k forks source link

[Feature Request]: Support concatenating binlogs together #9497

Open baronfel opened 10 months ago

baronfel commented 10 months ago

Summary

The guidance we give users at https://github.com/dotnet/msbuild/blob/main/documentation/wiki/Providing-Binary-Logs.md is good, but for VS users specifically it introduces some hurdles for us during analysis. The way VS creates the binlogs for a session results in many 'loose' binlogs, so it can be hard to identify the log that has the useful scenario in it. It would be great to have some way to view the combined logs easily, either through a tool that actually concats the binlogs together to be read as a single log, or a viewer-only enhancement to open multiple binlogs and allow querying/investigation across them in some way.

Background and Motivation

Triaging VS feedback tickets, you hit this pretty often.

Proposed Feature

The simplest way would be to have a tool that can concat N logs into a single log, which then could be opened in the viewer. I'm unsure what UX impacts this might have on the viewer, however. For example, would the timeline view possibly stretch so far as to be unusable?

Alternatively, the viewer could learn a new top-level node, under which each binlog session is a child node?

Alternative Designs

No response

KalleOlaviNiemitalo commented 10 months ago

a tool that can concat N logs into a single log

Can that tool be just file concatenation, as in cat A.binlog B.binlog > all.binlog or COPY /B A.binlog+B.binlog all.binlog? There is precedent for supporting this kind of concatenation, in gunzip.