aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h')
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h b/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h
index 2f3d53a86406..b5d6a0f24043 100644
--- a/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h
+++ b/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h
@@ -31,9 +31,9 @@ public:
llvm::ArrayRef<OptionDefinition> GetDefinitions() override;
- size_t m_thread_buffer_size;
+ uint64_t m_ipt_trace_size;
bool m_enable_tsc;
- llvm::Optional<size_t> m_psb_period;
+ llvm::Optional<uint64_t> m_psb_period;
};
CommandObjectThreadTraceStartIntelPT(TraceIntelPT &trace,
@@ -74,10 +74,11 @@ public:
llvm::ArrayRef<OptionDefinition> GetDefinitions() override;
- size_t m_thread_buffer_size;
- size_t m_process_buffer_size_limit;
+ uint64_t m_ipt_trace_size;
+ uint64_t m_process_buffer_size_limit;
bool m_enable_tsc;
- llvm::Optional<size_t> m_psb_period;
+ llvm::Optional<uint64_t> m_psb_period;
+ bool m_per_cpu_tracing;
};
CommandObjectProcessTraceStartIntelPT(TraceIntelPT &trace,
@@ -85,10 +86,14 @@ public:
: CommandObjectParsed(
interpreter, "process trace start",
"Start tracing this process with intel-pt, including future "
- "threads. "
- "This is implemented by tracing each thread independently. "
+ "threads. If --per-cpu-tracing is not provided, this traces each "
+ "thread independently, thus using a trace buffer per thread. "
"Threads traced with the \"thread trace start\" command are left "
- "unaffected ant not retraced.",
+ "unaffected ant not retraced. This is the recommended option "
+ "unless the number of threads is huge. If --per-cpu-tracing is "
+ "passed, each cpu core is traced instead of each thread, which "
+ "uses a fixed number of trace buffers, but might result in less "
+ "data available for less frequent threads.",
"process trace start [<intel-pt-options>]",
lldb::eCommandRequiresProcess | lldb::eCommandTryTargetAPILock |
lldb::eCommandProcessMustBeLaunched |