LLVM  17.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::TimeTraceProfiler Struct Reference
Collaboration diagram for llvm::TimeTraceProfiler:
Collaboration graph
[legend]

Public Member Functions

 TimeTraceProfiler (unsigned TimeTraceGranularity=0, StringRef ProcName="")
 
void begin (std::string Name, llvm::function_ref< std::string()> Detail)
 
void end ()
 
void write (raw_pwrite_stream &OS)
 

Public Attributes

SmallVector< TimeTraceProfilerEntry, 16 > Stack
 
SmallVector< TimeTraceProfilerEntry, 128 > Entries
 
StringMap< CountAndDurationType > CountAndTotalPerName
 
const time_point< system_clock > BeginningOfTime
 
const TimePointType StartTime
 
const std::string ProcName
 
const sys::Process::Pid Pid
 
SmallString< 0 > ThreadName
 
const uint64_t Tid
 
const unsigned TimeTraceGranularity
 

Detailed Description

Definition at line 97 of file TimeProfiler.cpp.

Constructor & Destructor Documentation

◆ TimeTraceProfiler()

llvm::TimeTraceProfiler::TimeTraceProfiler ( unsigned  TimeTraceGranularity = 0,
StringRef  ProcName = "" 
)
inline

Definition at line 98 of file TimeProfiler.cpp.

References llvm::get_thread_name(), and ThreadName.

Member Function Documentation

◆ begin()

void llvm::TimeTraceProfiler::begin ( std::string  Name,
llvm::function_ref< std::string()>  Detail 
)
inline

Definition at line 105 of file TimeProfiler.cpp.

References llvm::SmallVectorImpl< T >::emplace_back(), move, now(), and Stack.

Referenced by llvm::timeTraceProfilerBegin().

◆ end()

void llvm::TimeTraceProfiler::end ( )
inline

◆ write()

void llvm::TimeTraceProfiler::write ( raw_pwrite_stream OS)
inline

Member Data Documentation

◆ BeginningOfTime

const time_point<system_clock> llvm::TimeTraceProfiler::BeginningOfTime

Definition at line 276 of file TimeProfiler.cpp.

◆ CountAndTotalPerName

StringMap<CountAndDurationType> llvm::TimeTraceProfiler::CountAndTotalPerName

Definition at line 274 of file TimeProfiler.cpp.

Referenced by end().

◆ Entries

SmallVector<TimeTraceProfilerEntry, 128> llvm::TimeTraceProfiler::Entries

Definition at line 273 of file TimeProfiler.cpp.

Referenced by end(), and write().

◆ Pid

const sys::Process::Pid llvm::TimeTraceProfiler::Pid

Definition at line 280 of file TimeProfiler.cpp.

Referenced by write().

◆ ProcName

const std::string llvm::TimeTraceProfiler::ProcName

Definition at line 279 of file TimeProfiler.cpp.

◆ Stack

SmallVector<TimeTraceProfilerEntry, 16> llvm::TimeTraceProfiler::Stack

Definition at line 272 of file TimeProfiler.cpp.

Referenced by begin(), end(), and write().

◆ StartTime

const TimePointType llvm::TimeTraceProfiler::StartTime

Definition at line 278 of file TimeProfiler.cpp.

Referenced by end(), and write().

◆ ThreadName

SmallString<0> llvm::TimeTraceProfiler::ThreadName

Definition at line 281 of file TimeProfiler.cpp.

Referenced by TimeTraceProfiler().

◆ Tid

const uint64_t llvm::TimeTraceProfiler::Tid

Definition at line 282 of file TimeProfiler.cpp.

Referenced by write().

◆ TimeTraceGranularity

const unsigned llvm::TimeTraceProfiler::TimeTraceGranularity

Definition at line 285 of file TimeProfiler.cpp.

Referenced by end().


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