blob: bc7a985f112fde5d4b97c9f131338983b064582a [file] [log] [blame]
// 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_