New (possible) alternative to ProcMon uses ETW instead of kernel hooks


  1. Posts : 2,663
    Windows 11 21H2 (22000.593)
       #1

    New (possible) alternative to ProcMon uses ETW instead of kernel hooks


    Developer Pavel Yosifovich has released an early version of a Process Monitor alternative that has the makings of a great addition to / replacement for SysInternal's Process Monitor (ProcMon). Called Process Monitor X (and dubbed ProcMonX), it is a unique take on how to view various events that occur within the operating system as we use it.

    From his blog post about the release:

    The (now classic) Process Monitor tool from Sysinternals allows watching important activities on a system: process and thread creation/termination, image loading/unloading, file system operations and registry operations (and some profiling events). This tool helped me many times in diagnosing issues or just understanding what’s going on in a particular scenario.

    Yesterday I released the first preview of a tool called Process Monitor X (ProcMonX), as a possible alternative to ProcMon. ProcMonX provides information on similar activities to ProcMon, but adds many more events, such as networking, ALPC and memory. In fact, the number of possible events is staggering, since there are many events exposed by the NT kernel provider, and the tool could be expanded to include other providers. So why doesn’t ProcMon provide the same range of events?

    ProcMon works by using a kernel driver. The upside to using a driver is the ability to get the most accurate data, since some form of hooking is involved.
    ProcMonX, on the other hand, uses Event Tracing for Windows (ETW), a diagnostics and logging mechanism that existed since Windows 2000. In ETW, providers spit out events that ETW consumers consume. These events can be logged to a file (.ETL extension) and then analyzed, or alternatively logged in real time to listening consumers.

    Windows provides many providers out of the box, each exposing a rich set of events. To get a sense of the number of providers use logman query providers in a command window.

    ProcMonX creates a real time session (no automatic logging to file) and registers for the events the user requests (the current list is small, more events will follow in subsequent versions). The event data is displayed as they come in.

    Is it better than using kernel drivers? Not generally. Hooking with a driver is always more reliable and accurate. ETW has an inherent delay of one to three seconds when reporting events, which is not a big deal for this kind of tool, since the events are still ordered correctly and have correct enough time stamps (if using the same ETW session).

    All this means is that ProcMonX sacrifices some accuracy and in some cases pieces of information to get in exchange a huge arrange of events that could not be possible with ProcMon. Additionally, I am trying to get a comfortable and powerful UI to filter, view and inspect information. This is naturally a work in progress, but it’s important to emphasize. ETW traces can be captured and analyzed with a myriad of tools, such as PerfView, Windows Performance Recorder / Analyzer, and others. With a wealth of information there is a necessity to be able to filter, find and analyze the results.
    In my opinion, this could well be a great tool to add to the large list of tools that I keep handy for all sorts of analysis when I break something on my system (mostly stuff from Nir Sofer and SysInternals).

    We shall see.

    Github: GitHub - zodiacon/ProcMonX: Extended Process Monitor-like tool based on Event Tracing for Windows
      My Computers


  2. Posts : 35,442
    Win 10 Pro (21H2) (2nd PC is 21H2)
       #2

    Thanks- this sounds interesting.. I agree there's a real need for a tool that lets you focus quickly on particular types of events related to your current issue, and ProcMon's filter is a bit of a nightmare.
      My Computers


  3. Posts : 4,666
    Windows 10 Pro x64 21H1 Build 19043.1151 (Branch: Release Preview)
       #3

    Great find!

    Thanks!
      My Computers


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 18:25.
Find Us




Windows 10 Forums