llvm/llvm/include/llvm/XRay/XRayRecord.h

//===- 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