• Peter Marshall's avatar
    [cpu-profiler] Remove registration and sampling depth from Sampler · 1f1bd71d
    Peter Marshall authored
    Simplify the internal state of Sampler a bit. There are basically two
    users of Sampler - the CpuSampler used by the CpuProfiler and the
    Ticker used by log.cc. Ticker calls Start/Stop to manage the Sampler
    lifetime, but CpuProfiler does not. This leads to much confusion and
    overlap of functionality.
    
    Fix that here by removing the distinction between active, registered
    and isProfiling states. These are now all the same thing and are
    represented by IsActive(). The state is set to active when Start is
    called, and set inactive when Stop is called. Both users of Sampler
    now call Start and Stop at appropriate times.
    
    The concept of profiling depth was not used - each Sampler would
    only ever have a sampling depth of 1. We still need to call
    SignalHandler::IncreaseSamplerCount(), so we do that in Start
    and the corresponding DecreaseSamplerCount() in Stop.
    
    Change-Id: I16a9435d26169a7dd00b1c7876e66af45f12e4b0
    Reviewed-on: https://chromium-review.googlesource.com/c/1424337
    Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58955}
    1f1bd71d
sampler.h 4.33 KB