Go to the documentation of this file.
9 #ifndef LLDB_UTILITY_TRACEGDBREMOTEPACKETS_H
10 #define LLDB_UTILITY_TRACEGDBREMOTEPACKETS_H
12 #include "llvm/Support/JSON.h"
36 llvm::json::Path path);
49 llvm::Optional<std::vector<lldb::tid_t>>
tids;
57 llvm::json::Path path);
77 llvm::Optional<std::vector<lldb::tid_t>>
tids;
81 llvm::json::Path path);
94 llvm::json::Path path);
106 llvm::json::Path path);
117 llvm::json::Path path);
128 llvm::json::Path path);
145 virtual ToType
Convert(uint64_t raw_counter_value) = 0;
151 virtual llvm::json::Value
toJSON() = 0;
155 std::unique_ptr<TraceCounterConversion<std::chrono::nanoseconds>>;
160 llvm::Optional<std::vector<TraceCoreState>>
cores;
164 llvm::json::Path path);
177 llvm::Optional<lldb::tid_t>
tid;
184 bool fromJSON(
const llvm::json::Value &value,
186 llvm::json::Path path);
193 #endif // LLDB_UTILITY_TRACEGDBREMOTEPACKETS_H
llvm::json::Value toJSON(const TraceSupportedResponse &packet)
bool IsProcessTracing() const
std::vector< TraceThreadState > traced_threads
virtual ~TraceCounterConversion()=default
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.
llvm::Optional< std::vector< TraceCoreState > > cores
std::vector< TraceBinaryData > process_binary_data
llvm::Optional< std::vector< lldb::tid_t > > tids
If llvm::None, then this starts tracing the whole process.
uint64_t offset
Offset in bytes from where to start reading the data.
std::unique_ptr< TraceCounterConversion< std::chrono::nanoseconds > > TraceTscConversionUP
bool IsProcessTracing() const
jLLDBTraceStart
virtual ToType Convert(uint64_t raw_counter_value)=0
Convert from raw counter value to the target type.
Interface for different algorithms used to convert trace counters into different units.
std::string kind
Identifier of data to fetch with jLLDBTraceGetBinaryData.
std::vector< TraceBinaryData > binary_data
List of binary data objects for this core.
TraceStopRequest()=default
string(SUBSTRING ${p} 10 -1 pStripped) if($
virtual llvm::json::Value toJSON()=0
Serialize trace counter conversion values to JSON.
TraceStopRequest(llvm::StringRef type)
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
std::vector< TraceBinaryData > binary_data
List of binary data objects for this thread.
uint64_t size
Number of bytes to read.
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.
A class that represents a running process on the host machine.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.