dendibakh / perf-book

The book "Performance Analysis and Tuning on Modern CPU"
https://book.easyperf.net/perf_book
Creative Commons Zero v1.0 Universal
2k stars 144 forks source link

First Draft for ETW Chapter #18

Closed Alois-xx closed 1 year ago

Alois-xx commented 1 year ago

Hi Denis,

thanks for the feedback. I am on it. That list what ETW can do get larger since ETW has so many applications for leak tracking and many other things which are not widely known.

Yours,

          Alois

From: Denis Bakhvalov @.> Sent: Donnerstag, 9. Februar 2023 17:49 To: dendibakh/perf-book @.> Cc: Alois-xx @.>; Author @.> Subject: Re: [dendibakh/perf-book] First Draft for ETW Chapter (PR #18)

@dendibakh commented on this pull request.

Hi Alois, thank you, that's a good start! A couple of high-level comments:

— Reply to this email directly, view it on GitHub https://github.com/dendibakh/perf-book/pull/18#pullrequestreview-1291586337 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AADDZ5IPSJVFVBB5UJCRQJLWWUNWTANCNFSM6AAAAAAUV27VCQ . You are receiving this because you authored the thread. https://github.com/notifications/beacon/AADDZ5J7CII5MQBLXZWY37LWWUNWTA5CNFSM6AAAAAAUV27VCSWGG33NNVSW45C7OR4XAZNRKB2WY3CSMVYXKZLTORJGK5TJMV32UY3PNVWWK3TUL5UWJTSM7QFSC.gif Message ID: @. @.> >

dendibakh commented 1 year ago

That list what ETW can do get larger since ETW has so many applications for leak tracking and many other things which are not widely known.

Let's focus on those use cases that are related to performance observations.

Alois-xx commented 1 year ago

Hi Denis,

one formatting question:

This

The slow click event with number 63 we can locate in the profiling data in the WPA Overview view. Then you can zoom to the interesting time region of a potentially longer recording. The event number is part of the Generic Events HookTracer Events(Slow, Mouse, Keyboard) WPA view which visualizes all keyboard, mouse and timer based screenshots.

See figure @fig:DefenderOverhead.

WPA slow process start Defender overhead.{#fig:DefenderOverhead width=100% }

When you double click in explorer to start an executable you would first check if a delay in explorer exe is happening. Since we are dealing with delays it makes sense to look at the CPU Usage (Precise) Waits Graph. There you will find after the first column after process New Thread Stack (Stack Tag) which shows the summary of all threads and what they were doing. If we look deeper we find Antivirus - Windows Defender with a delay of 1.068s which can be visualized as bar chart to nicely display correlations across processes. See figure @fig:WpaSlowProcessStartOverview.

§§§§§§§§§§§§§§§§§§§§§§§§

WPA slow process start overview.{#fig:WpaSlowProcessStartOverview width=100% }

§§§§§§§§§§§§§§§§§§

WPA disk and exception correlation.{#fig:ProcessStartDiskException width=100% }

§§§§§§§§§§§§§§§§§§§§§§

Is rendered without the images at the right locations

Are there specific formatting things needed? I have experimented with \sectionbreak but then the figure description is missing. Or

are the images simply too large in the vertical dimension?

From: Denis Bakhvalov @.> Sent: Freitag, 10. Februar 2023 11:53 To: dendibakh/perf-book @.> Cc: Alois-xx @.>; Author @.> Subject: Re: [dendibakh/perf-book] First Draft for ETW Chapter (PR #18)

That list what ETW can do get larger since ETW has so many applications for leak tracking and many other things which are not widely known.

Let's focus on those use cases that are related to performance observations.

— Reply to this email directly, view it on GitHub https://github.com/dendibakh/perf-book/pull/18#issuecomment-1425620610 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AADDZ5KETXN6SH4ZBUPIVBDWWYMXTANCNFSM6AAAAAAUV27VCQ . You are receiving this because you authored the thread. https://github.com/notifications/beacon/AADDZ5JTKFEZHJTGWH45OIDWWYMXTA5CNFSM6AAAAAAUV27VCSWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSU7E7IE.gif Message ID: @. @.> >

dendibakh commented 1 year ago

Hi Denis, one formatting question: This [..] Is rendered without the images at the right locations Are there specific formatting things needed? I have experimented with \sectionbreak but then the figure description is missing. Or are the images simply too large in the vertical dimension?

Hi Alois! That's interesting. You can push your changes here, so I can take a look.

Alois-xx commented 1 year ago

Sure. I did push the changes.

From: Denis Bakhvalov @.> Sent: Montag, 20. Februar 2023 12:07 To: dendibakh/perf-book @.> Cc: Alois-xx @.>; Author @.> Subject: Re: [dendibakh/perf-book] First Draft for ETW Chapter (PR #18)

Hi Denis, one formatting question: This [..] Is rendered without the images at the right locations Are there specific formatting things needed? I have experimented with \sectionbreak but then the figure description is missing. Or are the images simply too large in the vertical dimension?

Hi Alois! That's interesting. You can push your changes here, so I can take a look.

— Reply to this email directly, view it on GitHub https://github.com/dendibakh/perf-book/pull/18#issuecomment-1436761274 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AADDZ5OLO6QXL5NMRKUTQ3LWYNF47ANCNFSM6AAAAAAUV27VCQ . You are receiving this because you authored the thread. https://github.com/notifications/beacon/AADDZ5LBCHJZNXYCMHSAW63WYNF47A5CNFSM6AAAAAAUV27VCSWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSVUM6LU.gif Message ID: @. @.> >

dendibakh commented 1 year ago

@Alois-xx, I checked your changes. Do I understand correctly that your concern was that some images are dragged to a separate page and it looks weird when there is only one image on the page and rest is blank space? It will probably look better once you add more text before/after the image. So, let's not focus on formatting too much as of now. BTW, here is the build artifact (PDF book) with your changes so far: https://github.com/dendibakh/perf-book/actions/runs/4225914288

Alois-xx commented 1 year ago

Hi Denis,

thanks! I will add more text. I think stacktags are new to many people which is super useful when you use WPA frequently and do not want to

wade into deep stack traces to understand what is happening.

Yours,

          Alois 

From: Denis Bakhvalov @.> Sent: Dienstag, 21. Februar 2023 16:40 To: dendibakh/perf-book @.> Cc: Alois-xx @.>; Mention @.> Subject: Re: [dendibakh/perf-book] First Draft for ETW Chapter (PR #18)

@Alois-xx https://github.com/Alois-xx , I checked your changes. Do I understand correctly that your concern was that some images are dragged to a separate page and it looks weird when there is only one image on the page and rest is blank space? It will probably look better once you add more text before/after the image. So, let's not focus on formatting too much as of now. BTW, here is the build artifact (PDF book) with your changes so far: https://github.com/dendibakh/perf-book/actions/runs/4225914288

— Reply to this email directly, view it on GitHub https://github.com/dendibakh/perf-book/pull/18#issuecomment-1438695196 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AADDZ5NZC3QJZA5W354MVO3WYTOUZANCNFSM6AAAAAAUV27VCQ . You are receiving this because you were mentioned. https://github.com/notifications/beacon/AADDZ5L5DMFCM7ZLW5NGWTDWYTOUZA5CNFSM6AAAAAAUV27VCSWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSVYC7RY.gif Message ID: @. @.> >

Alois-xx commented 1 year ago

I have updated the WPA chapter considerably. That covers a full profiling workflow cycle with UI correlation.

dendibakh commented 1 year ago

I have updated the WPA chapter considerably. That covers a full profiling workflow cycle with UI correlation.

Thanks, Alois, I will review it shortly.

Alois-xx commented 1 year ago

I could add many more things but that would become a book on its own I guess ;-). I have tried to remove some bullet points which are not relevant to most users. If that is enough input for Windows we can consider it done for now except spelling and wording which always can be improved since I am not a native speaker.

dendibakh commented 1 year ago

Hi Alois, Ok, thanks for the update, I will sit and read it more closely. Likely next week. Don't you mind if instead of writing comments I start making edits to your text?

Alois-xx commented 1 year ago

Hi Denis,

sure go ahead and make it real English ;-).

dendibakh commented 1 year ago

@Alois-xx, I rebased your main branch on top of the tree. Sorry for the forced rebase, I should've merged it instead.

dendibakh commented 1 year ago

Hi @Alois-xx , I restructured the text a little. Some things I had to drop as the section gets really big. I didn't remove them yet but instead placed them under the ## TO REMOVE header. I left [TODO] comments in the text, please address those. -Denis

dendibakh commented 1 year ago

Hi @Alois-xx , I made a few edits to the text. I left some [TODO] comments in the text, please address those. -Denis

Alois-xx commented 1 year ago

I have made some edits already but have Not committed yet.

05.05.2023 16:29:05 Denis Bakhvalov @.***>:

Hi @Alois-xx[https://github.com/Alois-xx] , I made a few edits to the text. I left some [TODO] comments in the text, please address those. -Denis

— Reply to this email directly, view it on GitHub[https://github.com/dendibakh/perf-book/pull/18#issuecomment-1536347572], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AADDZ5KJ5KA4DKLQGY7B3P3XEUFDBANCNFSM6AAAAAAUV27VCQ]. You are receiving this because you were mentioned.[Verfolgungsbild][https://github.com/notifications/beacon/AADDZ5O3GRKCVOL2OOKMW3LXEUFDBA5CNFSM6AAAAAAUV27VCSWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS3SLG3I.gif]

Alois-xx commented 1 year ago

Please check if it is fitting now.

Alois-xx commented 1 year ago

I have found some wording issues. But apart from that very nice work on improving my spelling and summarizing it to the point. This is a very nice and gentle introduction to ETW. You work really hard on that project. Much appreciated!

dendibakh commented 1 year ago

Awesome! Thanks again for all the work, tolerating my comments, and going through multiple revisions. :)