LLDB mainline
Public Attributes | List of all members
lldb_private::Trace::Storage Struct Reference

We package all the data that can change upon process stops to make sure this contract is very visible. More...

Collaboration diagram for lldb_private::Trace::Storage:
Collaboration graph
[legend]

Public Attributes

std::vector< Process * > postmortem_processes
 Portmortem processes traced by this object if doing non-live tracing.
 
std::optional< std::vector< lldb::cpu_id_t > > cpus
 The list of cpus being traced.
 
std::optional< std::string > live_refresh_error
 
llvm::DenseMap< lldb::tid_t, llvm::DenseMap< ConstString, uint64_t > > live_thread_data
 These data kinds are returned by lldb-server when fetching the state of the tracing session.
 
llvm::DenseMap< lldb::cpu_id_t, llvm::DenseMap< ConstString, uint64_t > > live_cpu_data_sizes
 cpu id -> data kind -> size
 
llvm::DenseMap< lldb::cpu_id_t, llvm::DenseMap< ConstString, std::vector< uint8_t > > > live_cpu_data
 cpu id -> data kind -> bytes
 
llvm::DenseMap< ConstString, uint64_t > live_process_data
 data kind -> size
 
llvm::DenseMap< lldb::tid_t, llvm::DenseMap< ConstString, FileSpec > > postmortem_thread_data
 Postmortem traces can specific additional data files, which are represented in this variable using a data kind identifier for each file.
 
llvm::DenseMap< lldb::cpu_id_t, llvm::DenseMap< ConstString, FileSpec > > postmortem_cpu_data
 cpu id -> data kind -> file
 

Detailed Description

We package all the data that can change upon process stops to make sure this contract is very visible.

This variable should only be accessed directly by constructores or live process data refreshers.

Definition at line 547 of file Trace.h.

Member Data Documentation

◆ cpus

std::optional<std::vector<lldb::cpu_id_t> > lldb_private::Trace::Storage::cpus

The list of cpus being traced.

Might be None depending on the plug-in.

Definition at line 575 of file Trace.h.

Referenced by lldb_private::Trace::GetTracedCpus(), lldb_private::Trace::OnAllCpusBinaryDataRead(), and lldb_private::Trace::RefreshLiveProcessState().

◆ live_cpu_data

llvm::DenseMap<lldb::cpu_id_t, llvm::DenseMap<ConstString, std::vector<uint8_t> > > lldb_private::Trace::Storage::live_cpu_data

cpu id -> data kind -> bytes

Definition at line 567 of file Trace.h.

Referenced by lldb_private::Trace::OnLiveCpuBinaryDataRead().

◆ live_cpu_data_sizes

llvm::DenseMap<lldb::cpu_id_t, llvm::DenseMap<ConstString, uint64_t> > lldb_private::Trace::Storage::live_cpu_data_sizes

cpu id -> data kind -> size

Definition at line 563 of file Trace.h.

Referenced by lldb_private::Trace::GetLiveCpuBinaryDataSize(), and lldb_private::Trace::RefreshLiveProcessState().

◆ live_process_data

llvm::DenseMap<ConstString, uint64_t> lldb_private::Trace::Storage::live_process_data

◆ live_refresh_error

std::optional<std::string> lldb_private::Trace::Storage::live_refresh_error

Definition at line 591 of file Trace.h.

Referenced by lldb_private::Trace::RefreshLiveProcessState().

◆ live_thread_data

llvm::DenseMap<lldb::tid_t, llvm::DenseMap<ConstString, uint64_t> > lldb_private::Trace::Storage::live_thread_data

These data kinds are returned by lldb-server when fetching the state of the tracing session.

The size in bytes can be used later for fetching the data in batches. tid -> data kind -> size

Definition at line 559 of file Trace.h.

Referenced by lldb_private::Trace::GetLiveThreadBinaryDataSize(), and lldb_private::Trace::RefreshLiveProcessState().

◆ postmortem_cpu_data

llvm::DenseMap<lldb::cpu_id_t, llvm::DenseMap<ConstString, FileSpec> > lldb_private::Trace::Storage::postmortem_cpu_data

cpu id -> data kind -> file

Definition at line 587 of file Trace.h.

Referenced by lldb_private::Trace::GetPostMortemCpuDataFile(), and lldb_private::Trace::SetPostMortemCpuDataFile().

◆ postmortem_processes

std::vector<Process *> lldb_private::Trace::Storage::postmortem_processes

Portmortem processes traced by this object if doing non-live tracing.

Otherwise it's empty.

Definition at line 550 of file Trace.h.

Referenced by lldb_private::Trace::GetPostMortemProcesses(), and lldb_private::Trace::GetTracedProcesses().

◆ postmortem_thread_data

llvm::DenseMap<lldb::tid_t, llvm::DenseMap<ConstString, FileSpec> > lldb_private::Trace::Storage::postmortem_thread_data

Postmortem traces can specific additional data files, which are represented in this variable using a data kind identifier for each file.

tid -> data kind -> file

Definition at line 583 of file Trace.h.

Referenced by lldb_private::Trace::GetPostMortemThreadDataFile(), and lldb_private::Trace::SetPostMortemThreadDataFile().


The documentation for this struct was generated from the following file: