microsoft / microsoft/eventtracing-processing

Support needed for VirtualAlloc/VirtualFree analysis

Open
#5 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
16
Forks
5
PR merge metrics
No merged PRs in 30d

Description

VirtualFree and VirtualAlloc stacks can be critical in understanding memory consumption. VirtualFree is particularly interesting for programmatic trace analysis because it cannot be analyzed using WPA - if you just have the free but not the alloc then the data is hidden.

I recently got desperate and wrote code to analyze "xperf -a dumper" output (script is at https://github.com/google/UIforETW/blob/main/bin/VirtualFreeStacks.py). The results were incredibly useful (see crbug.com/1179934) and may help understand a significant memory issue in Chrome and/or Windows, but writing text parsing code to analyze ETW traces seems like the wrong solution at this time.

Text parsing code tends to be more fragile and it also requires additional steps and usually has significantly worse performance than the trace processor library. Text parsing also requires significant investigation in order to understand the layout of the output and what xperf options to use.

Contributor guide

No contributing guide indexed for this repository

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 with bin/VirtualFreeStacks.py and the trace processor library, then compare the script's xperf -a dumper input with the WPA limitation described in the issue. Done means VirtualAlloc and VirtualFree stacks can be analyzed through the trace processor without relying on fragile text parsing.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
operating-systems, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.