//===- XRayRecord.h - XRay Trace Record -----------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file replicates the record definition for XRay log entries. This should // follow the evolution of the log record versions supported in the compiler-rt // xray project. // //===----------------------------------------------------------------------===// #ifndef LLVM_XRAY_XRAYRECORD_H #define LLVM_XRAY_XRAYRECORD_H #include <cstdint> #include <vector> #include <string> namespace llvm { namespace xray { /// 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. struct XRayFileHeader { … }; /// 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). enum class RecordTypes { … }; /// 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. struct XRayRecord { … }; } // namespace xray } // namespace llvm #endif // LLVM_XRAY_XRAYRECORD_H