LLDB  mainline
TraceIntelPTGDBRemotePackets.h
Go to the documentation of this file.
1 //===-- TraceIntelPTGDBRemotePackets.h --------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
10 #define LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
11 
13 
14 /// See docs/lldb-gdb-remote.txt for more information.
15 namespace lldb_private {
16 
17 /// jLLDBTraceStart gdb-remote packet
18 /// \{
20  /// Size in bytes to use for each thread's trace buffer.
22 
23  /// Whether to enable TSC
24  bool enableTsc;
25 
26  /// PSB packet period
27  llvm::Optional<int64_t> psbPeriod;
28 
29  /// Required when doing "process tracing".
30  ///
31  /// Limit in bytes on all the thread traces started by this "process trace"
32  /// instance. When a thread is about to be traced and the limit would be hit,
33  /// then a "tracing" stop event is triggered.
34  llvm::Optional<int64_t> processBufferSizeLimit;
35 };
36 
37 bool fromJSON(const llvm::json::Value &value, TraceIntelPTStartRequest &packet,
38  llvm::json::Path path);
39 
40 llvm::json::Value toJSON(const TraceIntelPTStartRequest &packet);
41 /// \}
42 
43 } // namespace lldb_private
44 
45 #endif // LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
lldb_private::toJSON
llvm::json::Value toJSON(const TraceSupportedResponse &packet)
Definition: TraceGDBRemotePackets.cpp:24
lldb_private::TraceIntelPTStartRequest::enableTsc
bool enableTsc
Whether to enable TSC.
Definition: TraceIntelPTGDBRemotePackets.h:24
lldb_private::TraceIntelPTStartRequest::psbPeriod
llvm::Optional< int64_t > psbPeriod
PSB packet period.
Definition: TraceIntelPTGDBRemotePackets.h:27
lldb_private::TraceIntelPTStartRequest
jLLDBTraceStart gdb-remote packet
Definition: TraceIntelPTGDBRemotePackets.h:19
lldb_private::TraceIntelPTStartRequest::threadBufferSize
int64_t threadBufferSize
Size in bytes to use for each thread's trace buffer.
Definition: TraceIntelPTGDBRemotePackets.h:21
lldb_private::fromJSON
bool fromJSON(const llvm::json::Value &value, TraceSupportedResponse &info, llvm::json::Path path)
lldb_private::TraceStartRequest
jLLDBTraceStart gdb-remote packet
Definition: TraceGDBRemotePackets.h:41
lldb_private::TraceIntelPTStartRequest::processBufferSizeLimit
llvm::Optional< int64_t > processBufferSizeLimit
Required when doing "process tracing".
Definition: TraceIntelPTGDBRemotePackets.h:34
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
TraceGDBRemotePackets.h