-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create explicit logger forwarder for buildcheck #10084
Create explicit logger forwarder for buildcheck #10084
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Is it possible to add some documentation to illustrate the logging process in MSBuild?
Yeah - it's in my bucket list - but first I need to find the time to debug through the code back and forth - as there seems to be a bit more to it than publicly documented. For now the public documentation is what should siffice for basic knowledge: https://learn.microsoft.com/en-us/visualstudio/msbuild/writing-multi-processor-aware-loggers |
Measured perf of this fix. Results:
Despite this good numbers, the CPU of the main msbuild node still has a very considerable overhead when analyzers are on: |
Here you go: #10158 Reviews are welcomed ;-) |
Contributes to #10068
Context
#9988 (comment) uncovered a perf regression with BuildCheck.
Portion of the regression was tracked to excessivbe logging of tasks (credit to @ladipro for the initial idea). This PR is trying to address the case.
Changes Made
BuildCheck is bringing in it's own forwarding logger - so that it can properly self-declare the minimum needed tasks verbosity (and in the future influence what events need to be transfered)
Testing
The verbosity integrations test
Pre-existing tests on BuildCheck