#include "perfetto/public/abi/tracing_session_abi.h"
#include <condition_variable>
#include <mutex>
#include "perfetto/tracing/tracing.h"
#include "protos/perfetto/config/trace_config.gen.h"
struct PerfettoTracingSessionImpl* PerfettoTracingSessionSystemCreate() { … }
struct PerfettoTracingSessionImpl* PerfettoTracingSessionInProcessCreate() { … }
void PerfettoTracingSessionSetup(struct PerfettoTracingSessionImpl* session,
void* cfg_begin,
size_t cfg_len) { … }
void PerfettoTracingSessionSetStopCb(struct PerfettoTracingSessionImpl* session,
PerfettoTracingSessionStopCb cb,
void* user_arg) { … }
void PerfettoTracingSessionStartAsync(
struct PerfettoTracingSessionImpl* session) { … }
void PerfettoTracingSessionStartBlocking(
struct PerfettoTracingSessionImpl* session) { … }
void PerfettoTracingSessionFlushAsync(
struct PerfettoTracingSessionImpl* session,
uint32_t timeout_ms,
PerfettoTracingSessionFlushCb cb,
void* user_arg) { … }
bool PerfettoTracingSessionFlushBlocking(
struct PerfettoTracingSessionImpl* session,
uint32_t timeout_ms) { … }
void PerfettoTracingSessionStopAsync(
struct PerfettoTracingSessionImpl* session) { … }
void PerfettoTracingSessionStopBlocking(
struct PerfettoTracingSessionImpl* session) { … }
void PerfettoTracingSessionReadTraceBlocking(
struct PerfettoTracingSessionImpl* session,
PerfettoTracingSessionReadCb callback,
void* user_arg) { … }
void PerfettoTracingSessionDestroy(struct PerfettoTracingSessionImpl* session) { … }