LLVM: llvm::xray Namespace Reference (original) (raw)

Classes
class BlockIndexer
class BlockPrinter
class BlockVerifier
class BufferExtents
class CallArgRecord
class CustomEventRecord
class CustomEventRecordV5
class EndBufferRecord
class FDRTraceWriter
The FDRTraceWriter allows us to hand-craft an XRay Flight Data Recorder (FDR) mode log file. More...
class FileBasedRecordProducer
class FunctionRecord
class Graph
A Graph object represents a Directed Graph and is used in XRay to compute and store function call graphs and associated statistical information. More...
class InstrumentationMap
The InstrumentationMap represents the computed function id's and indicated function addresses from an object file (or a YAML file). More...
class LogBuilder
The LogBuilder class allows for creating ad-hoc collections of records through the add<...>(...) function. More...
class LogBuilderConsumer
class MetadataRecord
class NewBufferRecord
class NewCPUIDRecord
class PIDRecord
class PipelineConsumer
class Profile
Profile instances are thread-compatible. More...
class Record
class RecordConsumer
class RecordInitializer
class RecordPrinter
class RecordProducer
class RecordVisitor
struct SledEntry
Represents an XRay instrumentation sled entry from an object file. More...
class Trace
A Trace object represents the records that have been loaded from XRay log files generated by instrumented binaries. More...
class TraceExpander
class TSCWrapRecord
class TypedEventRecord
class WallclockRecord
struct XRayFileHeader
XRay traces all have a header providing some top-matter information useful to help tools determine how to interpret the information available in the trace. More...
struct XRayRecord
An XRayRecord is the denormalized view of data associated in a trace. More...
struct YAMLXRayFileHeader
struct YAMLXRayRecord
struct YAMLXRaySledEntry
struct YAMLXRayTrace
Enumerations
enum class RecordTypes { ENTER, EXIT, TAIL_EXIT, ENTER_ARG, CUSTOM_EVENT, TYPED_EVENT }
Determines the supported types of records that could be seen in XRay traces. More...
Functions
LLVM_ABI Expected< XRayFileHeader > readBinaryFormatHeader (DataExtractor &HeaderExtractor, uint64_t &OffsetPtr)
Convenience function for loading the file header given a data extractor at a specified offset.
LLVM_ABI Expected< InstrumentationMap > loadInstrumentationMap (StringRef Filename)
Loads the instrumentation map from |Filename
LLVM_ABI Expected< Profile > loadProfile (StringRef Filename)
This function will attempt to load an XRay Profiling Mode profile from the provided |Filename
LLVM_ABI Profile mergeProfilesByThread (const Profile &L, const Profile &R)
This algorithm will merge two Profile instances into a single Profile instance, aggregating blocks by Thread ID.
LLVM_ABI Profile mergeProfilesByStack (const Profile &L, const Profile &R)
This algorithm will merge two Profile instances into a single Profile instance, aggregating blocks by function call stack.
LLVM_ABI Expected< Profile > profileFromTrace (const Trace &T)
This function takes a Trace and creates a Profile instance from it.
LLVM_ABI Expected< Trace > loadTraceFile (StringRef Filename, bool Sort=false)
This function will attempt to load XRay trace records from the provided |Filename
LLVM_ABI Expected< Trace > loadTrace (const DataExtractor &Extractor, bool Sort=false)
This function will attempt to load XRay trace records from the provided DataExtractor.

RecordTypes

Determines the supported types of records that could be seen in XRay traces.

This may or may not correspond to actual record types in the raw trace (as the loader implementation may synthesize this information in the process of of loading).

Enumerator
ENTER
EXIT
TAIL_EXIT
ENTER_ARG
CUSTOM_EVENT
TYPED_EVENT

Definition at line 56 of file XRayRecord.h.

loadInstrumentationMap()

loadProfile()

This function will attempt to load an XRay Profiling Mode profile from the provided |Filename|.

For any errors encountered in the loading of the profile data from |Filename|, this function will return an Error condition appropriately.

Definition at line 260 of file Profile.cpp.

References llvm::sys::fs::closeFile(), llvm::Data, llvm::sys::fs::mapped_file_region::data(), llvm::sys::fs::file_size(), llvm::make_error(), llvm::Offset, llvm::sys::fs::openNativeFileForRead(), P, readBlockHeader(), readData(), llvm::sys::fs::mapped_file_region::readonly, readPath(), llvm::sys::fs::mapped_file_region::size(), and llvm::Expected< T >::takeError().

loadTrace()

loadTraceFile()

This function will attempt to load XRay trace records from the provided |Filename|.

Definition at line 379 of file Trace.cpp.

References llvm::sys::fs::closeFile(), llvm::consumeError(), llvm::Data, llvm::sys::fs::mapped_file_region::data(), llvm::sys::fs::file_size(), loadTrace(), llvm::make_error(), llvm::sys::fs::openNativeFileForRead(), llvm::sys::fs::mapped_file_region::readonly, llvm::sys::fs::mapped_file_region::size(), and llvm::Expected< T >::takeError().

mergeProfilesByStack()

mergeProfilesByThread()

profileFromTrace()

This function takes a Trace and creates a Profile instance from it.

Definition at line 324 of file Profile.cpp.

References llvm::AbsoluteDifference(), CUSTOM_EVENT, ENTER, ENTER_ARG, EXIT, P, llvm::reverse(), T, TAIL_EXIT, llvm::transform(), and TYPED_EVENT.

readBinaryFormatHeader()

Convenience function for loading the file header given a data extractor at a specified offset.

Definition at line 15 of file FileHeaderReader.cpp.

References llvm::StringRef::bytes_begin(), llvm::xray::XRayFileHeader::ConstantTSC, llvm::createStringError(), llvm::xray::XRayFileHeader::CycleFrequency, llvm::xray::XRayFileHeader::FreeFormData, llvm::DataExtractor::getData(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU64(), llvm::xray::XRayFileHeader::NonstopTSC, llvm::xray::XRayFileHeader::Type, and llvm::xray::XRayFileHeader::Version.

Referenced by loadFDRLog(), and loadNaiveFormatLog().