Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/XRay/FDRRecords.cpp
35233 views
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
68