llvm::xray

Types

NameDescription
BlockIndexer
BlockPrinter
BlockVerifier
BufferExtents
CallArgRecord
CustomEventRecord
CustomEventRecordV5
EndBufferRecord
FDRTraceWriter The FDRTraceWriter allows us to hand-craft an XRay Flight Data Recorder (FDR) mode log file. This is used primarily for testing, generating sequences of FDR records that can be read/processed. It can also be used to generate various kinds of execution traces without using the XRay runtime. Note that this writer does not do any validation, but uses the types of records defined in the FDRRecords.h file.
FileBasedRecordProducer
FunctionRecord
Graph A Graph object represents a Directed Graph and is used in XRay to compute and store function call graphs and associated statistical information.
InstrumentationMap The InstrumentationMap represents the computed function id's and indicated function addresses from an object file (or a YAML file). This provides an interface to just the mapping between the function id, and the function address.
LogBuilder The LogBuilder class allows for creating ad-hoc collections of records through the add<...>(...) function. An example use of this API is in crafting arbitrary sequences of records:
LogBuilderConsumer
MetadataRecord
NewBufferRecord
NewCPUIDRecord
PIDRecord
PipelineConsumer
Profile Profile instances are thread-compatible.
Record
RecordConsumer
RecordInitializer
RecordPrinter
RecordProducer
RecordVisitor
SledEntry Represents an XRay instrumentation sled entry from an object file.
TSCWrapRecord
Trace A Trace object represents the records that have been loaded from XRay log files generated by instrumented binaries. We encapsulate the logic of reading the traces in factory functions that populate the Trace object appropriately.
TraceExpander
TypedEventRecord
WallclockRecord
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.
XRayRecord An XRayRecord is the denormalized view of data associated in a trace. These records may not correspond to actual entries in the raw traces, but they are the logical representation of records in a higher-level event log.
YAMLXRayFileHeader
YAMLXRayRecord
YAMLXRaySledEntry
YAMLXRayTrace

Enums

NameDescription
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).

Functions

NameDescription
loadInstrumentationMap Loads the instrumentation map from |Filename|. This auto-deduces the type of the instrumentation map.
loadProfile This function will attempt to load an XRay Profiling Mode profile from the provided |Filename|.
loadTrace This function will attempt to load XRay trace records from the provided DataExtractor.
loadTraceFile This function will attempt to load XRay trace records from the provided |Filename|.
mergeProfilesByStack This algorithm will merge two Profile instances into a single Profile instance, aggregating blocks by function call stack.
mergeProfilesByThread This algorithm will merge two Profile instances into a single Profile instance, aggregating blocks by Thread ID.
profileFromTrace This function takes a Trace and creates a Profile instance from it.
readBinaryFormatHeader Convenience function for loading the file header given a data extractor at a specified offset.
swap