microsoft / perfview

PerfView is a CPU and memory performance-analysis tool
http://channel9.msdn.com/Series/PerfView-Tutorial
MIT License
4.05k stars 695 forks source link

Microsoft-Windows-DotNETRuntimeRundown events don't appear in Event List #2015

Closed colfra-msft closed 3 months ago

colfra-msft commented 3 months ago

I took an ETL trace that has events from the DotNETRuntimeRundown provider, and when I open it in PerfView, the Event Stats page indicates that it has these events, but they don't show up at all in the Events Viewer. Specifically, the "Microsoft-Windows-DotNETRuntimeRundown/Method/DCStopVerbose" and "Microsoft-Windows-DotNETRuntimeRundown/Method/ILToNativeMapDCStop" event types. Is there a way to get these to show in the Event Viewer? I wanted to see what column values they have so I can figure out how those values can be used to join the two event types.

image

image

brianrob commented 3 months ago

This is because these events are considered to be "bookkeeping" events by PerfView, and so they are removed from the trace when it is opened the first time and stored in a separate on disk data structure that gets loaded when you open the trace. This is the etlx file that PerfView creates and stores in your PerfView temp files. Subsequent opens of the etl file are fast because PerfView finds the etlx file in your cache and reuses it.

You can force PerfView to leave these bookkeeping events in the trace by running PerfView with /KeepAllEvents and then opening in the trace in the resulting PerfView window. Note, this is not a durable setting - it just impacts the etlx files that are created by this particular instance of PerfView.

Since you've already opened the trace, you will need to delete your PerfView temp files (see the file menu of the main PerfView window) and then re-open PerfView with /KeepAllEvents, so that the etlx file gets re-created.

colfra-msft commented 3 months ago

Perfect thank you.