14 void TraceExpander::resetCurrentRecord() {
17 BuildingRecord =
false;
19 CurrentRecord.
Data.clear();
42 if (!IgnoringRecords) {
43 CurrentRecord.
TSC = R.
tsc();
44 CurrentRecord.
CPU = R.
cpu();
45 CurrentRecord.
PId = PID;
46 CurrentRecord.
TId = TID;
49 BuildingRecord =
true;
56 if (!IgnoringRecords) {
58 CurrentRecord.
TSC = BaseTSC;
59 CurrentRecord.
CPU = CPUId;
60 CurrentRecord.
PId = PID;
61 CurrentRecord.
TId = TID;
64 BuildingRecord =
true;
71 if (!IgnoringRecords) {
73 CurrentRecord.
TSC = BaseTSC;
74 CurrentRecord.
CPU = CPUId;
75 CurrentRecord.
PId = PID;
76 CurrentRecord.
TId = TID;
80 BuildingRecord =
true;
98 IgnoringRecords =
false;
106 IgnoringRecords =
true;
107 resetCurrentRecord();
112 resetCurrentRecord();
113 if (!IgnoringRecords) {
114 BaseTSC += R.
delta();
117 CurrentRecord.
TSC = BaseTSC;
118 CurrentRecord.
PId = PID;
119 CurrentRecord.
TId = TID;
120 CurrentRecord.
CPU = CPUId;
121 BuildingRecord =
true;
127 resetCurrentRecord();
int32_t functionId() const
uint16_t RecordType
RecordType values are used as "sub-types" which have meaning in the context of the Type below...
This class represents lattice values for constants.
RecordTypes recordType() const
std::string Data
For custom and typed events, we provide the raw data from the trace.
RecordTypes Type
Identifies the type of record.
Error visit(BufferExtents &) override
int32_t FuncId
The function ID for the record, if this is a function call record.
uint16_t eventType() const
uint32_t TId
The thread ID for the currently running thread.
static ErrorSuccess success()
Create a success value.
uint32_t PId
The process ID for the currently running process.
uint64_t TSC
Get the full 8 bytes of the TSC when we get the log record.
std::vector< uint64_t > CallArgs
The function call arguments.
Lightweight error class with error context and mandatory checking.
uint16_t CPU
The CPU where the thread is running. We assume number of CPUs <= 65536.