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