1343171Sdim//===- FDRRecords.cpp - XRay Flight Data Recorder Mode Records -----------===// 2343171Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6343171Sdim// 7343171Sdim//===----------------------------------------------------------------------===// 8343171Sdim// 9343171Sdim// Define types and operations on these types that represent the different kinds 10343171Sdim// of records we encounter in XRay flight data recorder mode traces. 11343171Sdim// 12343171Sdim//===----------------------------------------------------------------------===// 13343171Sdim#include "llvm/XRay/FDRRecords.h" 14343171Sdim 15343171Sdimnamespace llvm { 16343171Sdimnamespace xray { 17343171Sdim 18343171SdimError BufferExtents::apply(RecordVisitor &V) { return V.visit(*this); } 19343171SdimError WallclockRecord::apply(RecordVisitor &V) { return V.visit(*this); } 20343171SdimError NewCPUIDRecord::apply(RecordVisitor &V) { return V.visit(*this); } 21343171SdimError TSCWrapRecord::apply(RecordVisitor &V) { return V.visit(*this); } 22343171SdimError CustomEventRecord::apply(RecordVisitor &V) { return V.visit(*this); } 23343171SdimError CallArgRecord::apply(RecordVisitor &V) { return V.visit(*this); } 24343171SdimError PIDRecord::apply(RecordVisitor &V) { return V.visit(*this); } 25343171SdimError NewBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); } 26343171SdimError EndBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); } 27343171SdimError FunctionRecord::apply(RecordVisitor &V) { return V.visit(*this); } 28343171SdimError CustomEventRecordV5::apply(RecordVisitor &V) { return V.visit(*this); } 29343171SdimError TypedEventRecord::apply(RecordVisitor &V) { return V.visit(*this); } 30343171Sdim 31343171SdimStringRef Record::kindToString(RecordKind K) { 32343171Sdim switch (K) { 33343171Sdim case RecordKind::RK_Metadata: 34343171Sdim return "Metadata"; 35343171Sdim case RecordKind::RK_Metadata_BufferExtents: 36343171Sdim return "Metadata:BufferExtents"; 37343171Sdim case RecordKind::RK_Metadata_WallClockTime: 38343171Sdim return "Metadata:WallClockTime"; 39343171Sdim case RecordKind::RK_Metadata_NewCPUId: 40343171Sdim return "Metadata:NewCPUId"; 41343171Sdim case RecordKind::RK_Metadata_TSCWrap: 42343171Sdim return "Metadata:TSCWrap"; 43343171Sdim case RecordKind::RK_Metadata_CustomEvent: 44343171Sdim return "Metadata:CustomEvent"; 45343171Sdim case RecordKind::RK_Metadata_CustomEventV5: 46343171Sdim return "Metadata:CustomEventV5"; 47343171Sdim case RecordKind::RK_Metadata_CallArg: 48343171Sdim return "Metadata:CallArg"; 49343171Sdim case RecordKind::RK_Metadata_PIDEntry: 50343171Sdim return "Metadata:PIDEntry"; 51343171Sdim case RecordKind::RK_Metadata_NewBuffer: 52343171Sdim return "Metadata:NewBuffer"; 53343171Sdim case RecordKind::RK_Metadata_EndOfBuffer: 54343171Sdim return "Metadata:EndOfBuffer"; 55343171Sdim case RecordKind::RK_Metadata_TypedEvent: 56343171Sdim return "Metadata:TypedEvent"; 57343171Sdim case RecordKind::RK_Metadata_LastMetadata: 58343171Sdim return "Metadata:LastMetadata"; 59343171Sdim case RecordKind::RK_Function: 60343171Sdim return "Function"; 61343171Sdim } 62343171Sdim return "Unknown"; 63343171Sdim} 64343171Sdim 65343171Sdim} // namespace xray 66343171Sdim} // namespace llvm 67