19 ObjectMapper o(value, path);
20 return o && o.map(
"description", packet.
description) &&
21 o.map(
"name", packet.
name);
35 ObjectMapper o(value, path);
36 return o && o.map(
"type", packet.
type) && o.map(
"tids", packet.
tids);
40 return json::Value(
Object{{
"tids", packet.
tids}, {
"type", packet.
type}});
47 const std::vector<lldb::tid_t> &tids_)
57 ObjectMapper o(value, path);
58 return o && o.map(
"type", packet.
type) && o.map(
"tids", packet.
tids);
62 return json::Value(
Object{{
"type", packet.
type}, {
"tids", packet.
tids}});
70 ObjectMapper o(value, path);
71 return o && o.map(
"type", packet.
type);
75 return json::Value(
Object{{
"type", packet.
type}});
79 ObjectMapper o(value, path);
80 return o && o.map(
"kind", packet.
kind) && o.map(
"size", packet.
size);
84 return json::Value(
Object{{
"kind", packet.
kind}, {
"size", packet.
size}});
88 ObjectMapper o(value, path);
89 return o && o.map(
"tid", packet.
tid) &&
100 ObjectMapper o(value, path);
103 o.map(
"cpus", packet.
cpus) && o.map(
"warnings", packet.
warnings);
109 {
"cpus", packet.
cpus},
121 ObjectMapper o(value, path);
123 if (!(o && o.map(
"id", cpu_id) && o.map(
"binaryData", packet.
binary_data)))
138 return json::Value(
Object{{
"type", packet.
type},
139 {
"kind", packet.
kind},
141 {
"cpuId", packet.
cpu_id}});
146 ObjectMapper o(value, path);
147 std::optional<uint64_t> cpu_id;
148 if (!(o && o.map(
"type", packet.
type) && o.map(
"kind", packet.
kind) &&
149 o.map(
"tid", packet.
tid) && o.map(
"cpuId", cpu_id)))
static llvm::raw_ostream & warning(Stream &strm)
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)
std::string kind
Identifier of data to fetch with jLLDBTraceGetBinaryData.
uint64_t size
Size in bytes for this data.
std::vector< TraceBinaryData > binary_data
List of binary data objects for this core.
jLLDBTraceGetBinaryData gdb-remote packet
std::optional< lldb::cpu_id_t > cpu_id
Optional core id if the data is related to a cpu core.
std::optional< lldb::tid_t > tid
Optional tid if the data is related to a thread.
std::string kind
Identifier for the data.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
std::optional< std::vector< std::string > > warnings
std::optional< std::vector< TraceCpuState > > cpus
std::vector< TraceThreadState > traced_threads
std::vector< TraceBinaryData > process_binary_data
void AddWarning(llvm::StringRef warning)
jLLDBTraceStart gdb-remote packet
bool IsProcessTracing() const
jLLDBTraceStart
std::optional< std::vector< lldb::tid_t > > tids
If std::nullopt, then this starts tracing the whole process.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
jLLDBTraceStop gdb-remote packet
bool IsProcessTracing() const
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
TraceStopRequest()=default
std::optional< std::vector< lldb::tid_t > > tids
If std::nullopt, then this stops tracing the whole process.
jLLDBTraceSupported gdb-remote packet
std::string name
The name of the technology, e.g.
std::string description
The description for the technology.
std::vector< TraceBinaryData > binary_data
List of binary data objects for this thread.