1 //===- FDRRecords.cpp - XRay Flight Data Recorder Mode Records -----------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // Define types and operations on these types that represent the different kinds 10 // of records we encounter in XRay flight data recorder mode traces. 11 // 12 //===----------------------------------------------------------------------===// 13 #include "llvm/XRay/FDRRecords.h" 14 15 namespace llvm { 16 namespace xray { 17 apply(RecordVisitor & V)18Error BufferExtents::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)19Error WallclockRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)20Error NewCPUIDRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)21Error TSCWrapRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)22Error CustomEventRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)23Error CallArgRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)24Error PIDRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)25Error NewBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)26Error EndBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)27Error FunctionRecord::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)28Error CustomEventRecordV5::apply(RecordVisitor &V) { return V.visit(*this); } apply(RecordVisitor & V)29Error TypedEventRecord::apply(RecordVisitor &V) { return V.visit(*this); } 30 kindToString(RecordKind K)31StringRef Record::kindToString(RecordKind K) { 32 switch (K) { 33 case RecordKind::RK_Metadata: 34 return "Metadata"; 35 case RecordKind::RK_Metadata_BufferExtents: 36 return "Metadata:BufferExtents"; 37 case RecordKind::RK_Metadata_WallClockTime: 38 return "Metadata:WallClockTime"; 39 case RecordKind::RK_Metadata_NewCPUId: 40 return "Metadata:NewCPUId"; 41 case RecordKind::RK_Metadata_TSCWrap: 42 return "Metadata:TSCWrap"; 43 case RecordKind::RK_Metadata_CustomEvent: 44 return "Metadata:CustomEvent"; 45 case RecordKind::RK_Metadata_CustomEventV5: 46 return "Metadata:CustomEventV5"; 47 case RecordKind::RK_Metadata_CallArg: 48 return "Metadata:CallArg"; 49 case RecordKind::RK_Metadata_PIDEntry: 50 return "Metadata:PIDEntry"; 51 case RecordKind::RK_Metadata_NewBuffer: 52 return "Metadata:NewBuffer"; 53 case RecordKind::RK_Metadata_EndOfBuffer: 54 return "Metadata:EndOfBuffer"; 55 case RecordKind::RK_Metadata_TypedEvent: 56 return "Metadata:TypedEvent"; 57 case RecordKind::RK_Metadata_LastMetadata: 58 return "Metadata:LastMetadata"; 59 case RecordKind::RK_Function: 60 return "Function"; 61 } 62 return "Unknown"; 63 } 64 65 } // namespace xray 66 } // namespace llvm 67