Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ETW Trim/Prune Utility #360

Open
planetchili opened this issue Oct 10, 2024 · 0 comments
Open

ETW Trim/Prune Utility #360

planetchili opened this issue Oct 10, 2024 · 0 comments
Assignees
Labels
dev-centric Features and fixes related to improving dx, debugging, and diagnostics

Comments

@planetchili
Copy link
Collaborator

planetchili commented Oct 10, 2024

ETW files are often prohibitively large. The sheer number of events means that verbose tracing can take 30 minutes+ per run. Solutions:

  1. filter events to the same set of events that presentmon itself filters to when doing realtime tracing
  2. Trim events by timestamp to a shorter region of interest, decreasing the verbose trace time proportionally

Challenges:
Set of trace filters is tightly coupled to PresentData logic for starting an actual trace; this needs to be decoupled.
There are events from providers outside the filter set that are received and processed, so these need be identified.
When trimming, care must be taken to maintain the state context that tracking depends on (initial process / context state dumps, etc.)

Filtering works and results in a 97% reduction of file size.
Currently, trimming works except for GPU work tracing. In order to identify the missing events, verbose processing is required, but currently verbose is acting non-deterministically, so that issue must be addressed first. #359

@planetchili planetchili self-assigned this Oct 10, 2024
@planetchili planetchili added the dev-centric Features and fixes related to improving dx, debugging, and diagnostics label Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev-centric Features and fixes related to improving dx, debugging, and diagnostics
Projects
None yet
Development

No branches or pull requests

1 participant