Skip to content

Conversation

@lzybkr
Copy link
Contributor

@lzybkr lzybkr commented Aug 21, 2018

PR Summary

These scripts and additional files are useful in analyzing PowerShell performance on Windows with either perfview or wpr/wpa.

PR Checklist

@powercode
Copy link
Collaborator

I'm so happy!!

Maybe add some info regarding using builds with symbols (cross gened) to get usable stacks?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's... 1 GB of buffers? Seems a bit excessive.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. I forget where I copied that profile from and it looks like it's not actually being used so I'll just delete the file.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without a System collector this profile won't be usable by itself (it won't have process, thread, or loader events) - the user will always have to start at least one other session alongside this in order to make sense of the data in WPA.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I'm removing this profile.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These wprp files aren't WPA regions files, they are WPR profiles.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I clearly wasn't thinking when I wrote that - I'm removing the files.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your other profiles capture a small subset of the events this one does, but use a much larger set of buffers.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the profile we care about. I don't recall seeing dropped events, so maybe this is fine?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Despite what the outdated MSDN documentation says, the Name attribute has been optional since Windows 8.1, and should be considered deprecated.

There's probably no value targeting the WPR that ships with the Windows 8 ADK as opposed to the Windows 8.1 ADK. Newer versions of the ADK can be installed on older OS releases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I appreciate the review. I agree, folks profiling PowerShell probably aren't running Win8 so I'll just remove the Name attribute.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be uncommented?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it's expensive and not normally needed, but good to know about so I left it. I'll add a comment to explain.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we make this a parameter? So we can launch a different pwsh.exe version than the one we are using.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add EOL

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a comment why sometimes the module name has .ni while sometimes it doesn't

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh, I'm not sure, and maybe not relevant to PowerShell Core. This file isn't really that refined at all, so the hope is folks will contribute and make it more useful,

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember now, comment added.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add EOL

@lzybkr
Copy link
Contributor Author

lzybkr commented Aug 22, 2018

Sorry about amending instead of adding, mostly just renaming and reformatting, but all feedback should be addressed now.

@powercode
Copy link
Collaborator

Can't hold breath much longer...

@anmenaga
Copy link

FYI. 18 spelling errors in tools/performance/README.md are causing Travis CI build failure.

@lzybkr
Copy link
Contributor Author

lzybkr commented Aug 30, 2018

I see 0 spelling errors and have no plans to make the tool happy, so a maintainer can fix or else close the PR.

@powercode
Copy link
Collaborator

The tool fails on stuff like etl, perfview etc. Only bogus errors.

@lzybkr
Copy link
Contributor Author

lzybkr commented Aug 30, 2018

@powercode - yes, I reviewed what it complained about, it also complained about analyze I think.

But my point - we have humans reviewing and didn't complain. The tool should not block PRs.

@adityapatwardhan
Copy link
Member

Updated the spellings file. Once CI is complete, I will merge.

@adityapatwardhan adityapatwardhan self-assigned this Aug 30, 2018
@adityapatwardhan adityapatwardhan merged commit 944d716 into PowerShell:master Aug 30, 2018
@adityapatwardhan
Copy link
Member

@lzybkr Thanks for your contribution!!

@lzybkr lzybkr deleted the perf_tools branch August 30, 2018 23:52
@TravisEz13 TravisEz13 added this to the v6.1.0 milestone Aug 31, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants