Improving performance with the Windows Performance Toolkit 12/7/2018 5:41 PM HW-59T Improving performance with the Windows Performance Toolkit Michael Milirud Program Manager Microsoft Corporation © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Agenda Motivations for performance analysis Key Concepts Windows Performance Recorder Windows Performance Analyzer WPA integration with the ADK You’ll leave knowing how to: Approach performance Collect and analyze traces Perform basic live system analysis
Motivations for Performance Analysis
Performance is a Layered Challenge Extensions, Driver, Services, Applications Efficient platforms require efficient and reliable extensions Windows engineering processes focus on performance throughout the development cycle Operating System Core Hardware, Processor, Chipset, and Devices Fundamental quality starts with a great hardware platform
Performance Improvement is a Cycle Customer and Partner Connections Design and Develop Assess and Certify Performance analysis is an iterative process The people fixing an issue probably aren’t the people experiencing an issue The ability to easily work together is key
Key Concepts
Elements of Performance Responsiveness Unresponsive systems quickly generate customer dissatisfaction Machine constraints = reality Resource utilization Physical: CPU, GPU, disk, memory, network, battery Logical: critical sections, critical resources Resources can be critical if they are scarce, shared, and/or have queuing semantics
Origins of Windows Performance Toolkit The Windows Performance Toolkit was introduced at PDC 2009 The tools have proven to be very valuable The design focus to-date has been on power users http://www.microsoftpdc.com/2009/CL16
Benefits of WPT Enables follow up on issues raised via ADK performance assessments Enables holistic performance analysis All processes/threads All key system resources User + kernel mode Provides a way to analyze what customer actually experiences Catch the problem as it happens Capture-Anywhere-Decode-Anywhere Very low overhead versus alternatives Region of interest profiling You get both what and when
Windows Performance Recorder and Analyzer Tools for: Trace Capture (WPR) Trace Analysis (WPA) Based on ETW (Event Tracing for Windows) Used within Microsoft to build Windows Core code reused in-box Documentation on MSDN Part of ADK and SDK in Windows 8
Stages of Performance Analysis Perception Measurement Analysis System slows down App launch takes longer Browser refresh is slower Disk light is always on Poor battery life CPU profiling Context switches Changes in priority Disk I/Os Memory allocations Lock acquisition C and P state lifetimes CPU utilization CPU starvation Priority inversions Ineffective access patterns Disk saturation Memory leaks Redundant memory Lock contention Energy Efficiency Iterate
Windows Performance Recorder
Windows Performance Recorder 12/7/2018 5:41 PM demo Windows Performance Recorder © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Demo Concept Review Starting recording Monitoring recording status Saving recording Including issue description
Windows Performance Analyzer (A.K.A. XPerf)
XPerf in Windows 7
Benefits of WPA in Windows 8 Broaden the target audience to mainstream developers Leverage familiar UI experiences Enable quick ramp up Reduce ‘noise’ to focus on the ‘right’ issues
WPA in Windows 8 Legend Graph Table Detailed Graph Graph Explorer Aggregating Columns Legend Graph Grouping Columns Graphing Columns Table Gold Bar Blue Bar
demo Windows Performance Analyzer 12/7/2018 5:41 PM © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Demo Concept Review Single window lifetime management Visual Studio view management Graph Explorer Analysis Views Single shared timeline Detailed graphs Diagnostic View Profiles/sessions Presets Layouts Graph types Gold/Blue bars Synchronization of selection
WPA Integration with ADK
First Class Integration with the ADK ADK = Assessment & Deployment Kit Assessments produce traces Productive experience of troubleshooting identified issues
WPA Integration with ADK 12/7/2018 5:41 PM demo WPA Integration with ADK Following up on ADK assessment issues Here’s where the issue is! © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Demo Concept Review ADK integration Issues View Assessment Activity graph Assisted Diagnostics Details View
Things to look out for Don’t assume you know what’s wrong Don’t enable too much instrumentation Don’t trace for longer than you need Remember to enable stack walking on x64
Summary Performance is critical for your customer You have to Plan for it before you code/build Measure it as you code/build WPA is integrated with ADK WPR is a new tool in Windows 8
Related sessions HW-147T building high quality Windows PCs using the assessment and deployment kit HW-915P Introduction to assessments HW-141T Reducing the memory footprint of drivers and apps HW-922P Capturing and analyzing performance traces HW-925P Customizing WPA trace views HW-926P Introduction to the new WPA UI
Further reading and documentation Dev Center: Windows Performance Analysis MSDN documentation: WPA WPR Event Tracing for Windows Books: Windows Internals by Mark Russinovich, David Solomon, and Alex Ionescu Contact info: WPT Forum
thank you Feedback and questions http://forums.dev.windows.com Session feedback http://bldw.in/SessionFeedback
12/7/2018 5:41 PM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.