LLVM: llvm::TimeTraceProfiler Struct Reference (original) (raw)

Public Member Functions
TimeTraceProfiler (unsigned TimeTraceGranularity=0, StringRef ProcName="", bool TimeTraceVerbose=false)
TimeTraceProfilerEntry * begin (std::string Name, llvm::function_ref< std::string()> Detail, TimeTraceEventType EventType=TimeTraceEventType::CompleteEvent)
TimeTraceProfilerEntry * begin (std::string Name, llvm::function_ref< TimeTraceMetadata()> Metadata, TimeTraceEventType EventType=TimeTraceEventType::CompleteEvent)
void insert (std::string Name, llvm::function_ref< std::string()> Detail)
void end ()
void end (TimeTraceProfilerEntry &E)
void write (raw_pwrite_stream &OS)
Public Attributes
SmallVector< std::unique_ptr< InProgressEntry >, 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
const bool TimeTraceVerbose

Definition at line 127 of file TimeProfiler.cpp.

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

Definition at line 128 of file TimeProfiler.cpp.

References BeginningOfTime, llvm::get_thread_name(), llvm::get_threadid(), now(), Pid, ProcName, StartTime, ThreadName, Tid, TimeTraceGranularity, and TimeTraceVerbose.

Referenced by write().

begin() [1/2]

begin() [2/2]

end() [1/2]

void llvm::TimeTraceProfiler::end ( ) inline

end() [2/2]

insert()

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

write()

Definition at line 213 of file TimeProfiler.cpp.

References A(), llvm::all_of(), llvm::json::OStream::arrayBegin(), llvm::json::OStream::arrayEnd(), assert(), llvm::AsyncEvent, llvm::json::OStream::attribute(), llvm::json::OStream::attributeBegin(), llvm::json::OStream::attributeEnd(), llvm::json::OStream::attributeObject(), B(), BeginningOfTime, llvm::CompleteEvent, llvm::Count, llvm::count(), CountAndTotalPerName, Entries, llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key, llvm::InstantEvent, llvm::json::OStream::object(), llvm::json::OStream::objectBegin(), llvm::json::OStream::objectEnd(), Pid, ProcName, llvm::StringMapImpl::size(), llvm::sort(), Stack, StartTime, ThreadName, Tid, TimeTraceProfiler(), and llvm::Total.

BeginningOfTime

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

CountAndTotalPerName

StringMap llvm::TimeTraceProfiler::CountAndTotalPerName

Entries

Pid

ProcName

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

Stack

StartTime

const TimePointType llvm::TimeTraceProfiler::StartTime

ThreadName

Tid

TimeTraceGranularity

TimeTraceVerbose

const bool llvm::TimeTraceProfiler::TimeTraceVerbose


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