64 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8//9// Define types and operations on these types that represent the different kinds10// of records we encounter in XRay flight data recorder mode traces.11//12//===----------------------------------------------------------------------===//13#include "llvm/XRay/FDRRecords.h"14 15using namespace llvm;16using namespace llvm::xray;17 18Error BufferExtents::apply(RecordVisitor &V) { return V.visit(*this); }19Error WallclockRecord::apply(RecordVisitor &V) { return V.visit(*this); }20Error NewCPUIDRecord::apply(RecordVisitor &V) { return V.visit(*this); }21Error TSCWrapRecord::apply(RecordVisitor &V) { return V.visit(*this); }22Error CustomEventRecord::apply(RecordVisitor &V) { return V.visit(*this); }23Error CallArgRecord::apply(RecordVisitor &V) { return V.visit(*this); }24Error PIDRecord::apply(RecordVisitor &V) { return V.visit(*this); }25Error NewBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); }26Error EndBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); }27Error FunctionRecord::apply(RecordVisitor &V) { return V.visit(*this); }28Error CustomEventRecordV5::apply(RecordVisitor &V) { return V.visit(*this); }29Error TypedEventRecord::apply(RecordVisitor &V) { return V.visit(*this); }30 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