| // Copyright 2019 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. |
| |
| #ifndef SRC_PERFORMANCE_INSNTRACE_KTRACE_CONTROLLER_H_ |
| #define SRC_PERFORMANCE_INSNTRACE_KTRACE_CONTROLLER_H_ |
| |
| #include <fuchsia/tracing/kernel/cpp/fidl.h> |
| #include <stdint.h> |
| |
| namespace insntrace { |
| |
| zx_status_t OpenKtraceControllerChannel( |
| fuchsia::tracing::kernel::ControllerSyncPtr* out_controller_ptr); |
| |
| bool RequestKtraceStart(const fuchsia::tracing::kernel::ControllerSyncPtr& ktrace, |
| uint32_t group_mask); |
| |
| void RequestKtraceStop(const fuchsia::tracing::kernel::ControllerSyncPtr& ktrace); |
| |
| void RequestKtraceRewind(const fuchsia::tracing::kernel::ControllerSyncPtr& ktrace); |
| |
| void DumpKtraceBuffer(const char* output_path_prefix, const char* output_path_suffix); |
| |
| } // namespace insntrace |
| |
| #endif // SRC_PERFORMANCE_INSNTRACE_KTRACE_CONTROLLER_H_ |