• Joe Downing's avatar
    [Windows][Host][Logging] Adding EtwTraceConsumer class · 341aef47
    Joe Downing authored
    This CL adds the class which consumes the ETW events from
    Windows.  The class is fairly straight-forward but there
    is one interesting bit as the call to consumer events
    blocks us from running tasks on that thread.  In order to
    receive events and not block any of the existing threads,
    we create a new AutoThread which we use to listen for and
    handle events on.  When it is time to clean up, we unblock
    the listening thread by stopping the trace session.
    
    Future CLs will add the logic needed to parse the events
    and redirect the output to a new location (likely based on
    registry settings).  I've kept that out of this CL to keep
    its size on the smaller side.
    
    Bug: 1144185
    Change-Id: Ibf494251d0929a1741cb2796f26d69d258d96a64
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2515140Reviewed-by: default avatarJamie Walch <jamiewalch@chromium.org>
    Commit-Queue: Joe Downing <joedow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#823596}
    341aef47
etw_trace_consumer.cc 5.62 KB