8#if TRACE_PRIVATE_MINIMAL_ENABLED
9# define UE_TRACE_IMPL(...)
10# define UE_TRACE_API TRACELOG_API
12# define UE_TRACE_IMPL(...) { return __VA_ARGS__; }
13# define UE_TRACE_API inline
19#if TRACE_PRIVATE_FULL_ENABLED
20# define TRACE_IMPL(Macro, ...) TRACE_PRIVATE_EXPAND(TRACE_PRIVATE_##Macro(__VA_ARGS__))
22# define TRACE_IMPL(Macro, ...) TRACE_PRIVATE_EXPAND(TRACE_PRIVATE_NOP_##Macro(__VA_ARGS__))
25#if TRACE_PRIVATE_MINIMAL_ENABLED
26# define TRACE_IMPL_MINIMAL(Macro, ...) TRACE_PRIVATE_EXPAND(TRACE_PRIVATE_##Macro(__VA_ARGS__))
28# define TRACE_IMPL_MINIMAL(Macro, ...) TRACE_PRIVATE_EXPAND(TRACE_PRIVATE_NOP_##Macro(__VA_ARGS__))
33#if TRACE_PRIVATE_FULL_ENABLED
34# define TRACE_IMPL(Macro, ...) TRACE_PRIVATE_EXPAND(TRACE_PRIVATE_##Macro)(__VA_ARGS__)
36# define TRACE_IMPL(Macro, ...) TRACE_PRIVATE_EXPAND(TRACE_PRIVATE_NOP_##Macro)(__VA_ARGS__)
39#if TRACE_PRIVATE_MINIMAL_ENABLED
40# define TRACE_IMPL_MINIMAL(Macro, ...) TRACE_PRIVATE_EXPAND(TRACE_PRIVATE_##Macro)(__VA_ARGS__)
42# define TRACE_IMPL_MINIMAL(Macro, ...) TRACE_PRIVATE_EXPAND(TRACE_PRIVATE_NOP_##Macro)(__VA_ARGS__)
56template<
typename IdType>
72 if constexpr (std::is_same_v<IdType, uint64>)
91template<
typename IdType>
433#define UE_TRACE_EVENT_DEFINE(LoggerName, EventName) TRACE_IMPL(EVENT_DEFINE, LoggerName, EventName)
434#define UE_TRACE_EVENT_BEGIN(LoggerName, EventName, ...) TRACE_IMPL(EVENT_BEGIN, LoggerName, EventName, ##__VA_ARGS__)
435#define UE_TRACE_EVENT_BEGIN_EXTERN(LoggerName, EventName, ...) TRACE_IMPL(EVENT_BEGIN_EXTERN, LoggerName, EventName, ##__VA_ARGS__)
436#define UE_TRACE_EVENT_FIELD(FieldType, FieldName) TRACE_IMPL(EVENT_FIELD, FieldType, FieldName)
437#define UE_TRACE_EVENT_REFERENCE_FIELD(RefLogger, RefEvent, FieldName) TRACE_IMPL(EVENT_REFFIELD, RefLogger, RefEvent, FieldName)
438#define UE_TRACE_EVENT_END() TRACE_IMPL(EVENT_END)
439#define UE_TRACE_LOG(LoggerName, EventName, ChannelsExpr, ...) TRACE_IMPL(LOG, LoggerName, EventName, ChannelsExpr, ##__VA_ARGS__)
440#define UE_TRACE_LOG_SCOPED(LoggerName, EventName, ChannelsExpr, ...) TRACE_IMPL(LOG_SCOPED, LoggerName, EventName, ChannelsExpr, ##__VA_ARGS__)
441#define UE_TRACE_LOG_SCOPED_CONDITIONAL(LoggerName, EventName, ChannelsExpr, Condition, ...) TRACE_IMPL(LOG_SCOPED_CONDITIONAL, LoggerName, EventName, ChannelsExpr, Condition, ##__VA_ARGS__)
442#define UE_TRACE_LOG_SCOPED_T(LoggerName, EventName, ChannelsExpr, ...) TRACE_IMPL(LOG_SCOPED_T, LoggerName, EventName, ChannelsExpr, ##__VA_ARGS__)
443#define UE_TRACE_LOG_SCOPED_T_CONDITIONAL(LoggerName, EventName, ChannelsExpr, Condition, ...) TRACE_IMPL(LOG_SCOPED_T_CONDITIONAL, LoggerName, EventName, ChannelsExpr, Condition, ##__VA_ARGS__)
444#define UE_TRACE_GET_DEFINITION_TYPE_ID(LoggerName, EventName) TRACE_IMPL(GET_DEFINITION_TYPE_ID, LoggerName, EventName)
445#define UE_TRACE_LOG_DEFINITION(LoggerName, EventName, Id, ChannelsExpr, ...) TRACE_IMPL(LOG_DEFINITION, LoggerName, EventName, Id, ChannelsExpr, ##__VA_ARGS__)
446#define UE_TRACE_CHANNEL(ChannelName, ...) TRACE_IMPL(CHANNEL, ChannelName, ##__VA_ARGS__)
447#define UE_TRACE_CHANNEL_CUSTOM(ChannelName, ChannelClass, ...) TRACE_IMPL(CHANNEL_CUSTOM, ChannelName, ChannelClass, ##__VA_ARGS__)
448#define UE_TRACE_CHANNEL_EXTERN(ChannelName, ...) TRACE_IMPL(CHANNEL_EXTERN, ChannelName, ##__VA_ARGS__)
449#define UE_TRACE_CHANNEL_CUSTOM_EXTERN(ChannelName, ChannelClass, ...) TRACE_IMPL(CHANNEL_CUSTOM_EXTERN, ChannelName, ChannelClass, ##__VA_ARGS__)
450#define UE_TRACE_CHANNEL_DEFINE(ChannelName, ...) TRACE_IMPL(CHANNEL_DEFINE, ChannelName, ##__VA_ARGS__)
451#define UE_TRACE_CHANNEL_CUSTOM_DEFINE(ChannelName, ChannelClass, ...) TRACE_IMPL(CHANNEL_CUSTOM_DEFINE, ChannelName, ChannelClass, ##__VA_ARGS__)
452#define UE_TRACE_CHANNELEXPR_IS_ENABLED(ChannelsExpr) TRACE_IMPL(CHANNELEXPR_IS_ENABLED, ChannelsExpr)
460#define UE_TRACE_MINIMAL_EVENT_DEFINE(LoggerName, EventName) TRACE_IMPL_MINIMAL(EVENT_DEFINE, LoggerName, EventName)
461#define UE_TRACE_MINIMAL_EVENT_BEGIN(LoggerName, EventName, ...) TRACE_IMPL_MINIMAL(EVENT_BEGIN, LoggerName, EventName, ##__VA_ARGS__)
462#define UE_TRACE_MINIMAL_EVENT_BEGIN_EXTERN(LoggerName, EventName, ...) TRACE_IMPL_MINIMAL(EVENT_BEGIN_EXTERN, LoggerName, EventName, ##__VA_ARGS__)
463#define UE_TRACE_MINIMAL_EVENT_FIELD(FieldType, FieldName) TRACE_IMPL_MINIMAL(EVENT_FIELD, FieldType, FieldName)
464#define UE_TRACE_MINIMAL_EVENT_REFERENCE_FIELD(RefLogger, RefEvent, FieldName) TRACE_IMPL_MINIMAL(EVENT_REFFIELD, RefLogger, RefEvent, FieldName)
465#define UE_TRACE_MINIMAL_EVENT_END() TRACE_IMPL_MINIMAL(EVENT_END)
466#define UE_TRACE_MINIMAL_LOG(LoggerName, EventName, ChannelsExpr, ...) TRACE_IMPL_MINIMAL(LOG, LoggerName, EventName, ChannelsExpr, ##__VA_ARGS__)
467#define UE_TRACE_MINIMAL_LOG_SCOPED(LoggerName, EventName, ChannelsExpr, ...) TRACE_IMPL_MINIMAL(LOG_SCOPED, LoggerName, EventName, ChannelsExpr, ##__VA_ARGS__)
468#define UE_TRACE_MINIMAL_LOG_SCOPED_CONDITIONAL(LoggerName, EventName, ChannelsExpr, Condition, ...) TRACE_IMPL(LOG_SCOPED_CONDITIONAL, LoggerName, EventName, ChannelsExpr, Condition, ##__VA_ARGS__)
469#define UE_TRACE_MINIMAL_LOG_SCOPED_T(LoggerName, EventName, ChannelsExpr, ...) TRACE_IMPL_MINIMAL(LOG_SCOPED_T, LoggerName, EventName, ChannelsExpr, ##__VA_ARGS__)
470#define UE_TRACE_MINIMAL_LOG_SCOPED_T_CONDITIONAL(LoggerName, EventName, ChannelsExpr, Condition, ...) TRACE_IMPL(LOG_SCOPED_T_CONDITIONAL, LoggerName, EventName, ChannelsExpr, Condition, ##__VA_ARGS__)
471#define UE_TRACE_MINIMAL_GET_DEFINITION_TYPE_ID(LoggerName, EventName) TRACE_IMPL_MINIMAL(GET_DEFINITION_TYPE_ID, LoggerName, EventName)
472#define UE_TRACE_MINIMAL_LOG_DEFINITION(LoggerName, EventName, Id, ChannelsExpr, ...) TRACE_IMPL_MINIMAL(LOG_DEFINITION, LoggerName, EventName, Id, ChannelsExpr, ##__VA_ARGS__)
473#define UE_TRACE_MINIMAL_CHANNEL(ChannelName, ...) TRACE_IMPL_MINIMAL(CHANNEL, ChannelName, ##__VA_ARGS__)
474#define UE_TRACE_MINIMAL_CHANNEL_CUSTOM(ChannelName, ChannelClass, ...) TRACE_IMPL_MINIMAL(CHANNEL_CUSTOM, ChannelName, ChannelClass, ##__VA_ARGS__)
475#define UE_TRACE_MINIMAL_CHANNEL_EXTERN(ChannelName, ...) TRACE_IMPL_MINIMAL(CHANNEL_EXTERN, ChannelName, ##__VA_ARGS__)
476#define UE_TRACE_MINIMAL_CHANNEL_CUSTOM_EXTERN(ChannelName, ChannelClass, ...) TRACE_IMPL_MINIMAL(CHANNEL_CUSTOM_EXTERN, ChannelName, ChannelClass, ##__VA_ARGS__)
477#define UE_TRACE_MINIMAL_CHANNEL_DEFINE(ChannelName, ...) TRACE_IMPL_MINIMAL(CHANNEL_DEFINE, ChannelName, ##__VA_ARGS__)
478#define UE_TRACE_MINIMAL_CHANNEL_CUSTOM_DEFINE(ChannelName, ChannelClass, ...) TRACE_IMPL_MINIMAL(CHANNEL_CUSTOM_DEFINE, ChannelName, ChannelClass, ##__VA_ARGS__)
479#define UE_TRACE_MINIMAL_CHANNELEXPR_IS_ENABLED(ChannelsExpr) TRACE_IMPL_MINIMAL(CHANNELEXPR_IS_ENABLED, ChannelsExpr)
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_TRACE_BLOCK_POOL_MAXSIZE
Definition Config.h:121
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_TRACE_IMPL(...)
Definition Trace.h:12
#define UE_TRACE_API
Definition Trace.h:13
uint32 Size
Definition VulkanMemory.cpp:4034
TEventRef< uint32 > FEventRef32
Definition Trace.h:88
void * AllocFunc(SIZE_T Size, uint32 Alignment)
Definition Trace.h:174
TEventRef< uint64 > FEventRef64
Definition Trace.h:89
void ChannelIterFunc(const ANSICHAR *Name, bool State, void *User)
Definition Trace.h:189
AnsiString
Definition Trace.h:52
UE_TRACE_API bool WriteSnapshotTo(const TCHAR *Path) UE_TRACE_IMPL(false)
EMessageType
Definition Trace.h:98
UE_TRACE_API bool IsTracing() UE_TRACE_IMPL(false)
uint32 FChannelId
Definition Trace.h:155
bool ChannelIterCallback(const FChannelInfo &Info, void *)
Definition Trace.h:197
UE_TRACE_API bool WriteTo(const TCHAR *Path, uint16 Flags=FSendFlags::None) UE_TRACE_IMPL(false)
UE_TRACE_API void Panic() UE_TRACE_IMPL()
TEventRef< IdType > MakeEventRef(IdType InId, uint32 InTypeId)
Definition Trace.h:92
UE_TRACE_API void EnumerateChannels(ChannelIterFunc IterFunc, void *User) UE_TRACE_IMPL()
UE_TRACE_API bool ToggleChannel(const TCHAR *ChannelName, bool bEnabled) UE_TRACE_IMPL(false)
WideString
Definition Trace.h:53
void IoCloseFunc(UPTRINT Handle)
Definition Trace.h:212
void(void) OnUpdateFunc
Definition Trace.h:137
UE_TRACE_API bool IsTracingTo(uint32(&OutSessionGuid)[4], uint32(&OutTraceGuid)[4]) UE_TRACE_IMPL(false)
UE_TRACE_API void GetStatistics(FStatistics &Out) UE_TRACE_IMPL()
UE_TRACE_API bool IsChannel(const TCHAR *ChannelName) UE_TRACE_IMPL(false)
UE_TRACE_API bool RelayTo(UPTRINT InHandle, IoWriteFunc WriteFunc, IoCloseFunc CloseFunc, uint16 Flags=FSendFlags::None) UE_TRACE_IMPL(false)
void(const FMessageEvent &) OnMessageFunc
Definition Trace.h:135
UE_TRACE_API void ThreadGroupBegin(const TCHAR *Name) UE_TRACE_IMPL()
UE_TRACE_API void Shutdown() UE_TRACE_IMPL()
UE_TRACE_API bool SendTo(const TCHAR *Host, uint32 Port=0, uint16 Flags=FSendFlags::None) UE_TRACE_IMPL(false)
TEventRef< uint8 > FEventRef8
Definition Trace.h:86
UE_TRACE_API void ThreadRegister(const TCHAR *Name, uint32 SystemId, int32 SortHint) UE_TRACE_IMPL()
void(const ANSICHAR *) OnScopeBeginFunc
Definition Trace.h:138
UE_TRACE_API void Update() UE_TRACE_IMPL()
UE_TRACE_API FChannel * FindChannel(const TCHAR *ChannelName) UE_TRACE_IMPL(nullptr)
bool IoWriteFunc(UPTRINT Handle, const void *Data, uint32 Size)
Definition Trace.h:206
TEventRef< uint16 > FEventRef16
Definition Trace.h:87
void(void) OnScopeEndFunc
Definition Trace.h:139
UE_TRACE_API void StartWorkerThread() UE_TRACE_IMPL()
UE_TRACE_API void ThreadGroupEnd() UE_TRACE_IMPL()
void(void) OnConnectFunc
Definition Trace.h:136
UE_TRACE_API bool SendSnapshotTo(const TCHAR *Host, uint32 Port) UE_TRACE_IMPL(false)
void FreeFunc(void *Ptr, SIZE_T Size)
Definition Trace.h:181
UE_TRACE_API void SetMemoryHooks(AllocFunc Alloc, FreeFunc Free) UE_TRACE_IMPL()
UE_TRACE_API void SetMessageCallback(OnMessageFunc *MessageFunc) UE_TRACE_IMPL()
UE_TRACE_API void SetUpdateCallback(OnUpdateFunc *UpdateFunc) UE_TRACE_IMPL()
UE_TRACE_API void Exit() UE_TRACE_IMPL()
UE_TRACE_API bool Stop() UE_TRACE_IMPL(false)
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
FChannelId Id
Definition Trace.h:161
const ANSICHAR * Desc
Definition Trace.h:160
const ANSICHAR * Name
Definition Trace.h:159
bool bIsEnabled
Definition Trace.h:162
bool bIsReadOnly
Definition Trace.h:163
OnConnectFunc * OnConnectionFunc
Definition Trace.h:149
bool bUseImportantCache
Definition Trace.h:147
uint32 BlockPoolMaxSize
Definition Trace.h:145
uint32 TailSizeBytes
Definition Trace.h:143
uint32 ThreadSleepTimeInMS
Definition Trace.h:144
bool bUseWorkerThread
Definition Trace.h:146
uint32 SessionGuid[4]
Definition Trace.h:148
EMessageType Type
Definition Trace.h:128
const char * Description
Definition Trace.h:132
const char * TypeStr
Definition Trace.h:130
static const uint16 ExcludeTail
Definition Trace.h:233
static const uint16 None
Definition Trace.h:232
static const uint16 _Reserved
Definition Trace.h:234
uint32 BlockPoolAllocatedBlocks
Definition Trace.h:222
uint64 BlockPoolAllocated
Definition Trace.h:220
uint64 BytesEmitted
Definition Trace.h:218
uint32 BlockPoolFreeBlocks
Definition Trace.h:221
uint32 FixedBufferAllocated
Definition Trace.h:224
uint32 CacheWaste
Definition Trace.h:227
uint64 BytesSent
Definition Trace.h:216
uint64 MemoryUsed
Definition Trace.h:219
uint32 SharedBufferAllocated
Definition Trace.h:223
uint32 CacheUsed
Definition Trace.h:226
uint32 CacheAllocated
Definition Trace.h:225
uint64 BytesTraced
Definition Trace.h:217
uint64 GetHash() const
Definition Trace.h:70
TEventRef(IdType InId, uint32 InTypeId)
Definition Trace.h:61
IdType ReferenceType
Definition Trace.h:59
uint32 RefTypeId
Definition Trace.h:68
IdType Id
Definition Trace.h:67