class ThreadSampler

Defined at line 97 of file ../../zircon/kernel/lib/thread_sampler/include/lib/thread_sampler/thread_sampler.h

Public Methods

zx::result<size_t> ReadUser (user_out_ptr<void> ptr, uint32_t offset, size_t len)
zx::result<> SetUp (const zx_sampler_config_t & config)

Defined at line 29 of file ../../zircon/kernel/lib/thread_sampler/thread_sampler.cc

zx::result<> Start ()

Defined at line 91 of file ../../zircon/kernel/lib/thread_sampler/thread_sampler.cc

void ThreadSampler ()

Defined at line 99 of file ../../zircon/kernel/lib/thread_sampler/include/lib/thread_sampler/thread_sampler.h

void ~ThreadSampler ()

Defined at line 100 of file ../../zircon/kernel/lib/thread_sampler/include/lib/thread_sampler/thread_sampler.h

SamplingState State ()

Defined at line 102 of file ../../zircon/kernel/lib/thread_sampler/include/lib/thread_sampler/thread_sampler.h

zx::result<> Stop ()

Defined at line 115 of file ../../zircon/kernel/lib/thread_sampler/thread_sampler.cc

ktl::optional<PerCpuStateRef> GetPerCpuState (cpu_num_t cpu_num)

Atomically acquire a reference to the buffers and ensure that the buffers are not destroyed

until the reference is released.

Defined at line 135 of file ../../zircon/kernel/lib/thread_sampler/include/lib/thread_sampler/thread_sampler.h

zx::result<> Destroy ()

Defined at line 184 of file ../../zircon/kernel/lib/thread_sampler/thread_sampler.cc

zx::result<sampler::ReadToken> PrepareRead ()

Defined at line 339 of file ../../zircon/kernel/lib/thread_sampler/thread_sampler.cc

void FinishRead (sampler::ReadToken && token)

Defined at line 348 of file ../../zircon/kernel/lib/thread_sampler/thread_sampler.cc

ktl::pair<zx_status_t, size_t> ReadUser (const sampler::ReadToken & token, user_out_ptr<void> ptr, size_t len)

ReadUser calls into VmObject::ReadUser. As we could be copying to pager backed user memory, we

must not hold any locks.

Defined at line 365 of file ../../zircon/kernel/lib/thread_sampler/thread_sampler.cc

zx::result<> SampleThread (zx_koid_t pid, zx_koid_t tid, GeneralRegsSource source, const void * gregs)

Given information about a thread and its registers, walk its userstack and write out a sample

if sampling is enabled.

Defined at line 210 of file ../../zircon/kernel/lib/thread_sampler/thread_sampler.cc

Records

Friends

class TestThreadSampler