13 #ifndef LLVM_XRAY_YAML_XRAY_RECORD_H 14 #define LLVM_XRAY_YAML_XRAY_RECORD_H 16 #include <type_traits> 56 template <>
struct ScalarEnumerationTraits<xray::
RecordTypes> {
69 IO.mapRequired(
"version", Header.
Version);
70 IO.mapRequired(
"type", Header.
Type);
72 IO.mapRequired(
"nonstop-tsc", Header.
NonstopTSC);
80 IO.mapOptional(
"func-id", Record.
FuncId);
81 IO.mapOptional(
"function", Record.
Function);
82 IO.mapOptional(
"args", Record.
CallArgs);
83 IO.mapRequired(
"cpu", Record.
CPU);
84 IO.mapOptional(
"thread", Record.
TId, 0U);
85 IO.mapOptional(
"process", Record.
PId, 0U);
86 IO.mapRequired(
"kind", Record.
Type);
87 IO.mapRequired(
"tsc", Record.
TSC);
88 IO.mapOptional(
"data", Record.
Data);
91 static constexpr
bool flow =
true;
98 IO.mapRequired(
"header", Trace.
Header);
99 IO.mapRequired(
"records", Trace.
Records);
108 #endif // LLVM_XRAY_YAML_XRAY_RECORD_H
This class represents lattice values for constants.
static void mapping(IO &IO, xray::YAMLXRayRecord &Record)
static void enumeration(IO &IO, xray::RecordTypes &Type)
std::vector< uint64_t > CallArgs
static void mapping(IO &IO, xray::YAMLXRayTrace &Trace)
The instances of the Type class are immutable: once they are created, they are never changed...
RecordTypes
Determines the supported types of records that could be seen in XRay traces.
std::vector< YAMLXRayRecord > Records
YAMLXRayFileHeader Header