Go to the documentation of this file.
19 ObjectMapper o(value, path);
20 return o && o.map(
"description", packet.
description) &&
21 o.map(
"name", packet.
name);
32 bool TraceStartRequest::IsProcessTracing()
const {
return !(bool)tids; }
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}});
46 TraceStopRequest::TraceStopRequest(llvm::StringRef 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 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)))
llvm::json::Value toJSON(const TraceSupportedResponse &packet)
bool IsProcessTracing() const
std::vector< TraceThreadState > traced_threads
std::string kind
Identifier for the data.
jLLDBTraceGetBinaryData gdb-remote packet
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
std::string description
The description for the technology.
jLLDBTraceSupported gdb-remote packet
llvm::Optional< std::vector< lldb::tid_t > > tids
If llvm::None, then this stops tracing the whole process.
std::string name
The name of the technology, e.g.
std::vector< TraceBinaryData > process_binary_data
llvm::Optional< std::vector< lldb::tid_t > > tids
If llvm::None, then this starts tracing the whole process.
llvm::Optional< std::vector< TraceCpuState > > cpus
std::string kind
Identifier of data to fetch with jLLDBTraceGetBinaryData.
void AddWarning(llvm::StringRef warning)
bool fromJSON(const llvm::json::Value &value, TraceSupportedResponse &info, llvm::json::Path path)
uint64_t size
Size in bytes for this data.
jLLDBTraceStop gdb-remote packet
jLLDBTraceStart gdb-remote packet
static llvm::raw_ostream & warning(Stream &strm)
std::vector< TraceBinaryData > binary_data
List of binary data objects for this thread.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
llvm::Optional< lldb::tid_t > tid
Optional tid if the data is related to a thread.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
std::vector< TraceBinaryData > binary_data
List of binary data objects for this core.
llvm::Optional< lldb::cpu_id_t > cpu_id
Optional core id if the data is related to a cpu core.
A class that represents a running process on the host machine.
bool fromJSON(const Value &value, JSONSimpleTraceBundleDescription &bundle, Path path)
llvm::Optional< std::vector< std::string > > warnings
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.