microsoft / microsoft/profile-explorer

Currently, Profile Explorer does not provide sufficient visibility into wait-based performance issues, such as contention or thread blocking.

Open
#13 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C#
Stars
286
Forks
27
Avg merge
3d 1h
Merged PRs (30d)
1

Description

When analyzing a performance regression where a thread is stalling due to lock contention, I often need to identify where time is being spent waiting, across which callstacks, and how it’s distributed across threads. However, Profile Explorer lacks a way to sort or filter by total wait time, making it very difficult to isolate the root cause within the tool.

As a result, I frequently need to switch back to Windows Performance Analyzer (WPA), where I can group by wait reason or sort by total wait duration. This disrupts my workflow and limits the usefulness of Profile Explorer in critical investigations.

Feature Request:
It would be extremely helpful to have a "Waits View" in Profile Explorer—something that allows sorting or grouping by total wait time, or by functions associated with the highest accumulated wait duration. This would make Profile Explorer a much more complete tool for analyzing real-world contention scenarios in complex systems.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by surveying Profile Explorer's existing views and how its CPU profiling traces expose wait or contention data; compare the requested grouping and sorting with WPA's wait-reason and total-duration views. Define the supported wait metrics and verify that users can identify callstacks and per-thread totals. The issue names no files or tests, so repository discovery is required.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
operating-systems, performance, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.