15#if !defined(CPUPROFILERTRACE_ENABLED)
16#if UE_TRACE_ENABLED && !UE_BUILD_SHIPPING
17#define CPUPROFILERTRACE_ENABLED 1
19#define CPUPROFILERTRACE_ENABLED 0
23#if CPUPROFILERTRACE_ENABLED
352#define TRACE_CPUPROFILER_EVENT_DECLARE(DeclName) \
353 static uint32 DeclName;
357#define TRACE_CPUPROFILER_EVENT_SCOPE_USE(DeclName, NameStr, ScopeName, Condition) \
358 FCpuProfilerTrace::FEventScope ScopeName(DeclName, NameStr, Condition, __FILE__, __LINE__);
362#define TRACE_CPUPROFILER_EVENT_SCOPE_USE_ON_CHANNEL(DeclName, NameStr, ScopeName, Channel, Condition) \
363 FCpuProfilerTrace::FEventScope ScopeName(DeclName, NameStr, Channel, Condition, __FILE__, __LINE__);
366#define TRACE_CPUPROFILER_EVENT_MANUAL_START(EventNameStr) \
369 static uint32 PREPROCESSOR_JOIN(__CpuProfilerEventSpecId, __LINE__) = FCpuProfilerTrace::OutputEventType(EventNameStr, __FILE__, __LINE__); \
370 FCpuProfilerTrace::OutputBeginEvent(PREPROCESSOR_JOIN(__CpuProfilerEventSpecId, __LINE__)); \
374#define TRACE_CPUPROFILER_EVENT_MANUAL_END() \
377 FCpuProfilerTrace::OutputEndEvent(); \
382#define TRACE_CPUPROFILER_EVENT_MANUAL_IS_ENABLED() \
395#define TRACE_CPUPROFILER_EVENT_SCOPE_STR_CONDITIONAL(NameStr, Condition) \
396 TRACE_CPUPROFILER_EVENT_DECLARE(PREPROCESSOR_JOIN(__CpuProfilerEventSpecId, __LINE__)); \
397 TRACE_CPUPROFILER_EVENT_SCOPE_USE(PREPROCESSOR_JOIN(__CpuProfilerEventSpecId, __LINE__), NameStr, PREPROCESSOR_JOIN(__CpuProfilerEventScope, __LINE__), (Condition));
404#define TRACE_CPUPROFILER_EVENT_SCOPE_STR(NameStr) \
405 TRACE_CPUPROFILER_EVENT_SCOPE_STR_CONDITIONAL(NameStr, true)
413#define TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL_CONDITIONAL(NameStr, Channel, Condition) \
414 TRACE_CPUPROFILER_EVENT_DECLARE(PREPROCESSOR_JOIN(__CpuProfilerEventSpecId, __LINE__)); \
415 TRACE_CPUPROFILER_EVENT_SCOPE_USE_ON_CHANNEL(PREPROCESSOR_JOIN(__CpuProfilerEventSpecId, __LINE__), NameStr, PREPROCESSOR_JOIN(__CpuProfilerEventScope, __LINE__), Channel, (Condition));
416#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_STR_CONDITIONAL(NameStr, Channel, Condition) \
417 TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL_CONDITIONAL(NameStr, Channel, Condition)
418#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_CONDITIONAL_STR(NameStr, Channel, Condition) \
419 TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL_CONDITIONAL(NameStr, Channel, Condition)
427#define TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL(NameStr, Channel) \
428 TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL_CONDITIONAL(NameStr, Channel, true)
429#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_STR(NameStr, Channel) \
430 TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL(NameStr, Channel)
441#define TRACE_CPUPROFILER_EVENT_SCOPE_CONDITIONAL(Name, Condition) \
442 TRACE_CPUPROFILER_EVENT_SCOPE_STR_CONDITIONAL(#Name, (Condition))
449#define TRACE_CPUPROFILER_EVENT_SCOPE(Name) \
450 TRACE_CPUPROFILER_EVENT_SCOPE_CONDITIONAL(Name, true)
457#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_CONDITIONAL(Name, Channel, Condition) \
458 TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL_CONDITIONAL(#Name, Channel, (Condition))
465#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL(Name, Channel) \
466 TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_CONDITIONAL(Name, Channel, true)
477#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_CONDITIONAL(Name, Condition) \
478 FCpuProfilerTrace::FDynamicEventScope PREPROCESSOR_JOIN(__CpuProfilerEventScope, __LINE__)(Name, (Condition), __FILE__, __LINE__);
485#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(Name) \
486 TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_CONDITIONAL(Name, true)
494#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_ON_CHANNEL_CONDITIONAL(Name, Channel, Condition) \
495 FCpuProfilerTrace::FDynamicEventScope PREPROCESSOR_JOIN(__CpuProfilerEventScope, __LINE__)(Name, Channel, (Condition), __FILE__, __LINE__);
503#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_ON_CHANNEL(Name, Channel) \
504 TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_ON_CHANNEL_CONDITIONAL(Name, Channel, true)
510#define TRACE_CPUPROFILER_EVENT_FLUSH() \
511 FCpuProfilerTrace::FlushThreadBuffer();
515#define TRACE_CPUPROFILER_EVENT_DECLARE(DeclName)
516#define TRACE_CPUPROFILER_EVENT_SCOPE_USE(DeclName, NameStr, ScopeName, Condition)
517#define TRACE_CPUPROFILER_EVENT_SCOPE_USE_ON_CHANNEL(DeclName, NameStr, ScopeName, Channel, Condition)
518#define TRACE_CPUPROFILER_EVENT_MANUAL_START(EventNameStr)
519#define TRACE_CPUPROFILER_EVENT_MANUAL_END()
520#define TRACE_CPUPROFILER_EVENT_MANUAL_IS_ENABLED() false
521#define TRACE_CPUPROFILER_EVENT_SCOPE_STR(NameStr)
522#define TRACE_CPUPROFILER_EVENT_SCOPE_STR_CONDITIONAL(NameStr, Condition)
523#define TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL(NameStr, Channel)
524#define TRACE_CPUPROFILER_EVENT_SCOPE_STR_ON_CHANNEL_CONDITIONAL(NameStr, Channel, Condition)
525#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_STR(NameStr, Channel)
526#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_STR_CONDITIONAL(NameStr, Channel, Condition)
527#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_CONDITIONAL_STR(NameStr, Channel, Condition)
528#define TRACE_CPUPROFILER_EVENT_SCOPE(Name)
529#define TRACE_CPUPROFILER_EVENT_SCOPE_CONDITIONAL(Name, Condition)
530#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL(Name, Channel)
531#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_CONDITIONAL(Name, Channel, Condition)
532#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(Name)
533#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_CONDITIONAL(Name, Condition)
534#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_ON_CHANNEL(Name, Channel)
535#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_ON_CHANNEL_CONDITIONAL(Name, Channel, Condition)
536#define TRACE_CPUPROFILER_EVENT_FLUSH()
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_TRACE_CHANNEL_EXTERN(ChannelName,...)
Definition Trace.h:448
Definition NameTypes.h:617