31#ifndef DWTRACE_TRACE_STRUCTURES_HPP_
32#define DWTRACE_TRACE_STRUCTURES_HPP_
168 TracerConfig(
bool const enabledFlag,
char8_t const*
const fileLoc, uint64_t
const chanMask,
169 bool const fileBackendFlag, uint32_t
const fileSize,
bool const nvtxBackendFlag,
170 uint32_t
const traceLevel, uint32_t
const flushEpoch,
bool const ftraceFlag,
171 bool const memTraceFlag,
bool const fullMemUse,
bool const diskIOStats,
172 char8_t const*
const start =
nullptr,
bool const& createCudaEventsFlag =
true)
173 :
enabled(enabledFlag),
filePath(fileLoc),
channelMask(chanMask),
fileBackendEnabled(fileBackendFlag),
maxFileSizeMB(fileSize),
nvtxBackendEnabled(nvtxBackendFlag),
tracingLevel(static_cast<
Level>(traceLevel)),
flushInterval((flushEpoch >
DW_TRACE_MAX_NUM_EVENTS_PER_CHAN) ?
DW_TRACE_MAX_NUM_EVENTS_PER_CHAN : flushEpoch),
ftraceBackendEnabled(ftraceFlag),
memTraceEnabled(memTraceFlag),
fullMemUsage(fullMemUse),
diskIOStatsEnabled(diskIOStats),
startTime(start),
createCudaEvents(createCudaEventsFlag)
200 dwtFixedString_t const& evtPayload,
const char*
const evtFunc,
const char*
const evtDeviceName,
201 size_t const evtDeviceMemFree,
const int32_t evtHostMemUsed, uint64_t
const evtNvMapMemUsed, uint64_t
const evtReadBytes, uint64_t
const evtWriteBytes, uint64_t
const evtIOWaitTime,
dwtTime_t const evtStamp)
202 :
level(evtLevel),
channel(evtChannel),
type(evtType),
tag(evtTag.c_str()),
duration(evtDuration),
payload(evtPayload.c_str()),
func(evtFunc),
deviceName(evtDeviceName),
deviceMemFree(evtDeviceMemFree),
hostMemUsed(evtHostMemUsed),
nvMapMemUsed(evtNvMapMemUsed),
readBytes(evtReadBytes),
writeBytes(evtWriteBytes),
ioWaitTime(evtIOWaitTime),
stamp(evtStamp)
float float32_t
Specifies POD types.
Level
Tracing can be controlled through tracing levels.
TraceChannel
DWTrace channels are used for capturing similar traces in one place.
static constexpr Level DW_TRACE_LEVEL_DEFAULT
If not sure about tracing level at the time of using DWTrace API, then use default trace level.
static constexpr size_t NUM_LEVELS
static constexpr uint32_t DW_TRACE_MAX_NUM_EVENTS_PER_CHAN
dw::core::FixedString< DW_TRACE_MAX_TAG_SIZE > dwtFixedString_t
dw::core::FixedString< 384 > dwtStringFilepath_t
Backend
Add documentation.
static const dw::core::StaticHashMap< sv, Level, NUM_LEVELS > nameToLevelMap
DWTrace initialisation and configuration structure.
TracerConfig(bool const enabledFlag, char8_t const *const fileLoc, uint64_t const chanMask, bool const fileBackendFlag, uint32_t const fileSize, bool const nvtxBackendFlag, uint32_t const traceLevel, uint32_t const flushEpoch, bool const ftraceFlag, bool const memTraceFlag, bool const fullMemUse, bool const diskIOStats, char8_t const *const start=nullptr, bool const &createCudaEventsFlag=true)
dwtStringFilepath_t filePath
bool ftraceBackendEnabled
dwtFixedString_t startTime
uint64_t const ioWaitTime
const int32_t hostMemUsed
size_t const deviceMemFree
uint64_t const nvMapMemUsed
uint64_t const writeBytes
dwtEvent_t(Level const evtLevel, TraceChannel const evtChannel, TraceHeaderType const evtType, dwtFixedString_t const &evtTag, float32_t const evtDuration, dwtFixedString_t const &evtPayload, const char *const evtFunc, const char *const evtDeviceName, size_t const evtDeviceMemFree, const int32_t evtHostMemUsed, uint64_t const evtNvMapMemUsed, uint64_t const evtReadBytes, uint64_t const evtWriteBytes, uint64_t const evtIOWaitTime, dwtTime_t const evtStamp)