Home | History | Annotate | Line # | Download | only in XRay
      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 
     18 Error BufferExtents::apply(RecordVisitor &V) { return V.visit(*this); }
     19 Error WallclockRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     20 Error NewCPUIDRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     21 Error TSCWrapRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     22 Error CustomEventRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     23 Error CallArgRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     24 Error PIDRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     25 Error NewBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     26 Error EndBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     27 Error FunctionRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     28 Error CustomEventRecordV5::apply(RecordVisitor &V) { return V.visit(*this); }
     29 Error TypedEventRecord::apply(RecordVisitor &V) { return V.visit(*this); }
     30 
     31 StringRef 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