- Notifications
You must be signed in to change notification settings - Fork7.7k
Add MethodInvocation trace for overload tracing#21320
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This PR has Quantification details
Why proper sizing of changes mattersOptimal pull request sizes drive a better predictable PR flow as they strike a
What can I do to optimize my changes
How to interpret the change counts in git diff output
Was this comment helpful?👍 :ok_hand: :thumbsdown: (Email) |
This PR has Quantification details
Why proper sizing of changes mattersOptimal pull request sizes drive a better predictable PR flow as they strike a
What can I do to optimize my changes
How to interpret the change counts in git diff output
Was this comment helpful?👍 :ok_hand: :thumbsdown: (Email) |
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.
I think this looks good and would be a great help in script debugging & would be good to get this merged in!
The @PowerShell/wg-powershell-cmdlets discussed this, we are in favor of adding more diagnosability to PowerShell, but defer to the Engine WG to review. |
25b209a
to2e67e70
CompareWG-Engine reviewed this PR, and we endorse the proposed new trace source. |
Adds a new trace source called MethodInvocation which can be used totrace what .NET methods PowerShell invokes. This is useful for bothseeing what .NET methods the code is calling but also for seeing whatoverload PowerShell has selected based on the arguments provided.This only applies to .NET methods, ETS members are not covered by thistrace source but could potentially be added in the future.
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! Thank you,@jborean93!
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!
c6329dd
intoPowerShell:masterUh oh!
There was an error while loading.Please reload this page.
Thanks for the review and merge, I've opened a PR to document this new featureMicrosoftDocs/PowerShell-Docs#12226. Up to the docs gods to make it prettier and more presentable. |
Uh oh!
There was an error while loading.Please reload this page.
PR Summary
Adds a new trace source called MethodInvocation which can be used to trace what .NET methods PowerShell invokes. This is useful for both seeing what .NET methods the code is calling but also for seeing what overload PowerShell has selected based on the arguments provided.
This only applies to .NET methods, ETS members are not covered by this trace source but could potentially be added in the future.
PR Context
To be able to debug PowerShell behaviour like why
" ".Split(" ")
has changed across .NET versions. Also provides an analogue ofParameterBinding
but for .NET methods.For example
Shows
PR Checklist
.h
,.cpp
,.cs
,.ps1
and.psm1
files have the correct copyright headerWIP:
or[ WIP ]
to the beginning of the title (theWIP
bot will keep its status check atPending
while the prefix is present) and remove the prefix when the PR is ready.(which runs in a different PS Host).