9#ifndef LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
10#define LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
14#include "llvm/Support/JSON.h"
62 llvm::json::Path path);
79 llvm::json::Path path);
103 uint64_t
ToNanos(uint64_t tsc)
const;
105 uint64_t
ToTSC(uint64_t nanos)
const;
A class that represents a running process on the host machine.
bool fromJSON(const llvm::json::Value &value, TraceSupportedResponse &info, llvm::json::Path path)
llvm::json::Value toJSON(const TraceSupportedResponse &packet)
static const char * kIptTrace
static const char * kProcFsCpuInfo
static const char * kPerfContextSwitchTrace
Helper structure to help parse long numbers that can't be easily represented by a JSON number that is...
jLLDBTraceGetState gdb-remote packet
uint64_t ToTSC(uint64_t nanos) const
uint64_t ToNanos(uint64_t tsc) const
Convert TSC value to nanosecond wall time.
std::optional< LinuxPerfZeroTscConversion > tsc_perf_zero_conversion
The TSC to wall time conversion if it exists, otherwise nullptr.
bool using_cgroup_filtering
jLLDBTraceStart gdb-remote packet
bool IsPerCpuTracing() const
bool enable_tsc
Whether to enable TSC.
std::optional< bool > disable_cgroup_filtering
Disable the cgroup filtering that is automatically applied in per cpu mode.
std::optional< bool > per_cpu_tracing
Whether to have a trace buffer per thread or per cpu cpu.
std::optional< uint64_t > psb_period
PSB packet period.
std::optional< uint64_t > process_buffer_size_limit
Required when doing "process tracing".
uint64_t ipt_trace_size
Size in bytes to use for each thread's trace buffer.
jLLDBTraceStart gdb-remote packet