blob: dd44fb2e3839c4e4eb420955645dbea08664e8bf [file] [log] [blame] [view]
<!--
Copyright 2023 The Fuchsia Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
DO NOT EDIT. Generated from FIDL library zx by zither, a Fuchsia platform tool.
See //docs/reference/syscalls/README.md#documentation-generation for
regeneration instructions.
-->
# zx_sampler_start
## Summary
Begin sampling to the provided IOBuffer.
## Declaration
```c
#include <zircon/syscalls.h>
zx_status_t zx_sampler_start(zx_handle_t iobuffer);
```
## Description
Begin sampling each attached thread and writing each sample to the
provided IOBuffer. The provided IOBuffer must be one previously returned
by zx_sampler_create.
Attempting to start a session which has already been started will return
an error, but will not stop or otherwise modify the session.
Restarting a previously started/stopped session will continue writing to
the buffers where the previous session left off.
## Errors
`ZX_ERR_NOT_SUPPORTED` `kernel.enable-debugging-syscalls` is not set to `true`
on the kernel command line or the experimental_thread_sampler_enabled
build param is not set to true.
`ZX_ERR_PERMISION_DENIED` *iobuffer* is not an IOBuffer returned by zx_sampler_create.
`ZX_ERR_BAD_STATE` the sampler has already been started.
## See also
- [`zx_sampler_create()`]
- [`zx_sampler_stop()`]
[`zx_sampler_create()`]: sampler_create.md
[`zx_sampler_stop()`]: sampler_stop.md