14 #ifndef LLVM_LIB_XRAY_FDRRECORDS_H_ 15 #define LLVM_LIB_XRAY_FDRRECORDS_H_ 30 class RecordInitializer;
89 static constexpr
int kMetadataBodySize = 15;
135 uint64_t Seconds = 0;
147 Seconds(S), Nanos(N) {}
174 uint16_t
cpuid()
const {
return CPUId; }
176 uint64_t
tsc()
const {
return TSC; }
186 uint64_t BaseTSC = 0;
198 uint64_t
tsc()
const {
return BaseTSC; }
222 Size(S), TSC(T), CPU(C),
Data(
std::move(D)) {}
225 uint64_t
tsc()
const {
return TSC; }
226 uint16_t
cpu()
const {
return CPU; }
250 Size(S), Delta(D),
Data(
std::move(P)) {}
253 int32_t
delta()
const {
return Delta; }
266 uint16_t EventType = 0;
278 Size(S), Delta(D),
Data(
std::move(P)) {}
281 int32_t
delta()
const {
return Delta; }
328 int32_t
pid()
const {
return PID; }
351 int32_t
tid()
const {
return TID; }
379 static constexpr
unsigned kFunctionRecordSize = 8;
425 static constexpr uint16_t DefaultVersion = 5u;
450 #endif // LLVM_LIB_XRAY_FDRRECORDS_H_ int32_t functionId() const
RecordKind getRecordType() const
RecordInitializer(DataExtractor &DE, uint32_t &OP)
virtual ~Record()=default
This class represents lattice values for constants.
TSCWrapRecord(uint64_t B)
RecordTypes recordType() const
CustomEventRecordV5(int32_t S, int32_t D, std::string P)
static bool classof(const Record *R)
WallclockRecord(uint64_t S, uint32_t N)
static bool classof(const Record *R)
static bool classof(const Record *R)
TypedEventRecord(int32_t S, int32_t D, uint16_t E, std::string P)
CustomEventRecord(uint64_t S, uint64_t T, uint16_t C, std::string D)
static bool classof(const Record *R)
static bool classof(const Record *R)
NewCPUIDRecord(uint16_t C, uint64_t T)
static bool classof(const Record *R)
static bool classof(const Record *R)
virtual Error apply(RecordVisitor &V)=0
static bool classof(const Record *R)
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
uint16_t eventType() const
NewBufferRecord(int32_t T)
RecordTypes
Determines the supported types of records that could be seen in XRay traces.
Record & operator=(const Record &)=delete
FunctionRecord(RecordTypes K, int32_t F, uint32_t D)
BufferExtents(uint64_t S)
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
static bool classof(const Record *R)
amdgpu Simplify well known AMD library false Value Value * Arg
static bool classof(const Record *R)
CallArgRecord(uint64_t A)
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static bool classof(const Record *R)
Record(const Record &)=delete
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.
RecordInitializer(DataExtractor &DE, uint32_t &OP, uint16_t V)
static StringRef kindToString(RecordKind K)
static bool classof(const Record *R)