llvm::xray

APIs for loading, writing, and analyzing XRay function-call traces.

Types

NameDescription
BlockIndexer RecordVisitor that groups FDR records into per-process/thread blocks.
BlockPrinter RecordVisitor that pretty-prints an FDR block of records for humans.
BlockVerifier RecordVisitor that verifies FDR block record sequences.
BufferExtents Metadata record giving the size in bytes of a following FDR buffer.
CallArgRecord Metadata record carrying one argument value for a function enter-with-args.
CustomEventRecord Pre-v5 metadata record for a user-defined custom event.
CustomEventRecordV5 V5+ metadata record for a user-defined custom event with a relative TSC.
EndBufferRecord Metadata record marking the end of the current FDR buffer.
FDRTraceWriter Writer that hand-crafts XRay Flight Data Recorder (FDR) mode log files.
FileBasedRecordProducer RecordProducer that loads FDR records from a file-backed DataExtractor.
FunctionRecord Concrete FDR record for a function enter, exit, or related event.
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 Maps XRay function ids to addresses from an object or YAML file.
LogBuilder Builds ad-hoc collections of FDR records.
LogBuilderConsumer RecordConsumer that appends records into a vector in arrival order.
MetadataRecord Base class for FDR metadata records that are not function enter/exit events.
NewBufferRecord Metadata record marking the start of a new per-thread FDR buffer.
NewCPUIDRecord Metadata record marking a switch to a new CPU and its absolute TSC.
PIDRecord Metadata record giving the process ID for a following FDR buffer.
PipelineConsumer RecordConsumer that applies a pipeline of visitors to each record.
Profile Profile instances are thread-compatible.
Record Base class for a single record in an XRay FDR-mode trace.
RecordConsumer Abstract consumer of FDR mode records.
RecordInitializer RecordVisitor that initializes FDR records by reading from a DataExtractor.
RecordPrinter RecordVisitor that prints an individual FDR record for human inspection.
RecordProducer Abstract source of successive FDR records.
RecordVisitor Abstract visitor for processing concrete FDR record types.
SledEntry Represents an XRay instrumentation sled entry from an object file.
TSCWrapRecord Metadata record establishing a new absolute TSC base after a wrap.
Trace Loaded XRay records from an instrumented binary's log file.
TraceExpander RecordVisitor that reconstitutes XRayRecord instances from FDR mode records.
TypedEventRecord Metadata record for a typed user event with a type tag and payload.
WallclockRecord Metadata record holding an absolute wall-clock timestamp.
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 Denormalized view of data associated with a record in an XRay trace.
YAMLXRayFileHeader YAML-serializable form of an XRay file header.
YAMLXRayRecord YAML-serializable form of a denormalized XRay trace record.
YAMLXRaySledEntry YAML-serializable form of an XRay instrumentation sled entry.
YAMLXRayTrace YAML-serializable representation of a complete XRay trace.

Enums

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

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 Exchange the contents of profiles L and R.