Performance and Diagnostics

Platform Health & Diagnostics Tools

Recording Hardware Performance (PMU) Events with Complete Examples

Performance Monitor Unit (PMU) events are used to measure CPU performance and understand workloads CPU characterization. Windows provides a way to collect PMU events through Event Tracing for Windows (ETW). When combined with other ETW events, we can tell a lot more concrete story about the performance. I recently added “Recording Hardware ...

New Android logcat support available in Microsoft Performance Tools for Linux & Android

We recently added support for parsing Android logcat logs to the OSS Microsoft-Performance-Tools-Linux-Android project. Logcat is a text-based dump of system & app messages on Android. This is what the logcat log would look like when loaded in Windows Performance Analyzer (WPA) Logcat for performance Logcat is useful in general, but ...

Perfetto tooling for analyzing Android, Linux, and Chromium browser performance – Microsoft-Performance-Tools-Linux-Android

Introduction In the last blog post, we introduced the cross platform open-source .NET Core Microsoft-Performance-Tools-Linux-Android tooling. Recently, we just released version 1.2 adding Perfetto support, which we will cover here. Perfetto is Google’s open-source tracing ecosystem covering Linux kernel tracing (and user-mode) and ...

WPR fails to start, insufficient system resources?

From time to time, I get questions about insufficient system resource error (0x800705aa) when starting the trace using WPR. The error can be frustrating, especially when there is enough memory and storage space left on the system. Some people try to solve the issue by increasing the system resources such as killing some apps and services. It ...

Windows Performance Analyzer – Table & Graph Configurations (Part 1)

In the previous post, we discussed a brief intro into Windows Performance Analyzer (WPA) and its feature set.  WPA can display trace data in a wide array of formats, most of which are pre-configured as presets designed for drilling into specific data points. Here is one for example: WPA's CPU Usage (Sampled) table has a few different ...