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

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 = "" 

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 

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 ( )

◆ write()

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

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: