UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CountersTrace.h File Reference
#include "CoreTypes.h"
#include "HAL/PreprocessorHelpers.h"
#include "Misc/Build.h"
#include "Templates/IsArrayOrRefOfTypeByPredicate.h"
#include "Trace/Config.h"
#include "Trace/Detail/Channel.h"
#include "Trace/Detail/Channel.inl"
#include "Trace/Trace.h"
#include <atomic>

Go to the source code of this file.

Macros

#define COUNTERSTRACE_ENABLED   0
 
#define TRACE_INT_VALUE(CounterDisplayName, Value)
 
#define TRACE_ATOMIC_INT_VALUE(CounterDisplayName, Value)
 
#define TRACE_FLOAT_VALUE(CounterDisplayName, Value)
 
#define TRACE_ATOMIC_FLOAT_VALUE(CounterDisplayName, Value)
 
#define TRACE_MEMORY_VALUE(CounterDisplayName, Value)
 
#define TRACE_ATOMIC_MEMORY_VALUE(CounterDisplayName, Value)
 
#define TRACE_UNCHECKED_INT_VALUE(CounterDisplayName, Value)
 
#define TRACE_UNCHECKED_ATOMIC_INT_VALUE(CounterDisplayName, Value)
 
#define TRACE_UNCHECKED_FLOAT_VALUE(CounterDisplayName, Value)
 
#define TRACE_UNCHECKED_ATOMIC_FLOAT_VALUE(CounterDisplayName, Value)
 
#define TRACE_UNCHECKED_MEMORY_VALUE(CounterDisplayName, Value)
 
#define TRACE_UNCHECKED_ATOMIC_MEMORY_VALUE(CounterDisplayName, Value)
 
#define TRACE_DECLARE_COUNTER(CounterType, CounterName, CounterDisplayName, CounterDisplayHint)
 
#define TRACE_DECLARE_INT_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_INT_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_ATOMIC_INT_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_ATOMIC_INT_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_FLOAT_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_FLOAT_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_ATOMIC_FLOAT_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_ATOMIC_FLOAT_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_MEMORY_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_MEMORY_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_ATOMIC_MEMORY_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_ATOMIC_MEMORY_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_UNCHECKED_INT_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_UNCHECKED_INT_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_UNCHECKED_ATOMIC_INT_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_UNCHECKED_ATOMIC_INT_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_UNCHECKED_FLOAT_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_UNCHECKED_FLOAT_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_UNCHECKED_ATOMIC_FLOAT_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_UNCHECKED_ATOMIC_FLOAT_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_UNCHECKED_MEMORY_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_UNCHECKED_MEMORY_COUNTER_EXTERN(CounterName)
 
#define TRACE_DECLARE_UNCHECKED_ATOMIC_MEMORY_COUNTER(CounterName, CounterDisplayName)
 
#define TRACE_DECLARE_UNCHECKED_ATOMIC_MEMORY_COUNTER_EXTERN(CounterName)
 
#define TRACE_COUNTER_SET(CounterName, Value)
 
#define TRACE_COUNTER_GET(CounterName)   {}
 
#define TRACE_COUNTER_ADD(CounterName, Value)
 
#define TRACE_COUNTER_SUBTRACT(CounterName, Value)
 
#define TRACE_COUNTER_INCREMENT(CounterName)
 
#define TRACE_COUNTER_DECREMENT(CounterName)
 
#define TRACE_COUNTER_SET_IF_DIFFERENT(CounterName, Value)
 
#define TRACE_COUNTER_ADD_IF_NOT_ZERO(CounterName, Value)
 
#define TRACE_COUNTER_SUBTRACT_IF_NOT_ZERO(CounterName, Value)
 
#define TRACE_COUNTER_SET_ALWAYS(CounterName, Value)
 
#define TRACE_COUNTER_ADD_ALWAYS(CounterName, Value)
 
#define TRACE_COUNTER_SUBTRACT_ALWAYS(CounterName, Value)
 

Enumerations

enum  ETraceCounterType : uint8 { TraceCounterType_Int = 0 , TraceCounterType_Float = 1 }
 
enum  ETraceCounterDisplayHint : uint8 { TraceCounterDisplayHint_None = 0 , TraceCounterDisplayHint_Memory = 1 }
 
enum  ETraceCounterNameType : uint8 { TraceCounterNameType_Static = 0 , TraceCounterNameType_Dynamic = 0x10 , TraceCounterNameType_AllocNameCopy = 0x20 }
 

Macro Definition Documentation

◆ COUNTERSTRACE_ENABLED

#define COUNTERSTRACE_ENABLED   0

◆ TRACE_ATOMIC_FLOAT_VALUE

#define TRACE_ATOMIC_FLOAT_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_ATOMIC_INT_VALUE

#define TRACE_ATOMIC_INT_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_ATOMIC_MEMORY_VALUE

#define TRACE_ATOMIC_MEMORY_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_COUNTER_ADD

#define TRACE_COUNTER_ADD (   CounterName,
  Value 
)

◆ TRACE_COUNTER_ADD_ALWAYS

#define TRACE_COUNTER_ADD_ALWAYS (   CounterName,
  Value 
)

◆ TRACE_COUNTER_ADD_IF_NOT_ZERO

#define TRACE_COUNTER_ADD_IF_NOT_ZERO (   CounterName,
  Value 
)

◆ TRACE_COUNTER_DECREMENT

#define TRACE_COUNTER_DECREMENT (   CounterName)

◆ TRACE_COUNTER_GET

#define TRACE_COUNTER_GET (   CounterName)    {}

◆ TRACE_COUNTER_INCREMENT

#define TRACE_COUNTER_INCREMENT (   CounterName)

◆ TRACE_COUNTER_SET

#define TRACE_COUNTER_SET (   CounterName,
  Value 
)

◆ TRACE_COUNTER_SET_ALWAYS

#define TRACE_COUNTER_SET_ALWAYS (   CounterName,
  Value 
)

◆ TRACE_COUNTER_SET_IF_DIFFERENT

#define TRACE_COUNTER_SET_IF_DIFFERENT (   CounterName,
  Value 
)

◆ TRACE_COUNTER_SUBTRACT

#define TRACE_COUNTER_SUBTRACT (   CounterName,
  Value 
)

◆ TRACE_COUNTER_SUBTRACT_ALWAYS

#define TRACE_COUNTER_SUBTRACT_ALWAYS (   CounterName,
  Value 
)

◆ TRACE_COUNTER_SUBTRACT_IF_NOT_ZERO

#define TRACE_COUNTER_SUBTRACT_IF_NOT_ZERO (   CounterName,
  Value 
)

◆ TRACE_DECLARE_ATOMIC_FLOAT_COUNTER

#define TRACE_DECLARE_ATOMIC_FLOAT_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_ATOMIC_FLOAT_COUNTER_EXTERN

#define TRACE_DECLARE_ATOMIC_FLOAT_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_ATOMIC_INT_COUNTER

#define TRACE_DECLARE_ATOMIC_INT_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_ATOMIC_INT_COUNTER_EXTERN

#define TRACE_DECLARE_ATOMIC_INT_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_ATOMIC_MEMORY_COUNTER

#define TRACE_DECLARE_ATOMIC_MEMORY_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_ATOMIC_MEMORY_COUNTER_EXTERN

#define TRACE_DECLARE_ATOMIC_MEMORY_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_COUNTER

#define TRACE_DECLARE_COUNTER (   CounterType,
  CounterName,
  CounterDisplayName,
  CounterDisplayHint 
)

◆ TRACE_DECLARE_FLOAT_COUNTER

#define TRACE_DECLARE_FLOAT_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_FLOAT_COUNTER_EXTERN

#define TRACE_DECLARE_FLOAT_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_INT_COUNTER

#define TRACE_DECLARE_INT_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_INT_COUNTER_EXTERN

#define TRACE_DECLARE_INT_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_MEMORY_COUNTER

#define TRACE_DECLARE_MEMORY_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_MEMORY_COUNTER_EXTERN

#define TRACE_DECLARE_MEMORY_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_UNCHECKED_ATOMIC_FLOAT_COUNTER

#define TRACE_DECLARE_UNCHECKED_ATOMIC_FLOAT_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_UNCHECKED_ATOMIC_FLOAT_COUNTER_EXTERN

#define TRACE_DECLARE_UNCHECKED_ATOMIC_FLOAT_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_UNCHECKED_ATOMIC_INT_COUNTER

#define TRACE_DECLARE_UNCHECKED_ATOMIC_INT_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_UNCHECKED_ATOMIC_INT_COUNTER_EXTERN

#define TRACE_DECLARE_UNCHECKED_ATOMIC_INT_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_UNCHECKED_ATOMIC_MEMORY_COUNTER

#define TRACE_DECLARE_UNCHECKED_ATOMIC_MEMORY_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_UNCHECKED_ATOMIC_MEMORY_COUNTER_EXTERN

#define TRACE_DECLARE_UNCHECKED_ATOMIC_MEMORY_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_UNCHECKED_FLOAT_COUNTER

#define TRACE_DECLARE_UNCHECKED_FLOAT_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_UNCHECKED_FLOAT_COUNTER_EXTERN

#define TRACE_DECLARE_UNCHECKED_FLOAT_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_UNCHECKED_INT_COUNTER

#define TRACE_DECLARE_UNCHECKED_INT_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_UNCHECKED_INT_COUNTER_EXTERN

#define TRACE_DECLARE_UNCHECKED_INT_COUNTER_EXTERN (   CounterName)

◆ TRACE_DECLARE_UNCHECKED_MEMORY_COUNTER

#define TRACE_DECLARE_UNCHECKED_MEMORY_COUNTER (   CounterName,
  CounterDisplayName 
)

◆ TRACE_DECLARE_UNCHECKED_MEMORY_COUNTER_EXTERN

#define TRACE_DECLARE_UNCHECKED_MEMORY_COUNTER_EXTERN (   CounterName)

◆ TRACE_FLOAT_VALUE

#define TRACE_FLOAT_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_INT_VALUE

#define TRACE_INT_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_MEMORY_VALUE

#define TRACE_MEMORY_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_UNCHECKED_ATOMIC_FLOAT_VALUE

#define TRACE_UNCHECKED_ATOMIC_FLOAT_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_UNCHECKED_ATOMIC_INT_VALUE

#define TRACE_UNCHECKED_ATOMIC_INT_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_UNCHECKED_ATOMIC_MEMORY_VALUE

#define TRACE_UNCHECKED_ATOMIC_MEMORY_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_UNCHECKED_FLOAT_VALUE

#define TRACE_UNCHECKED_FLOAT_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_UNCHECKED_INT_VALUE

#define TRACE_UNCHECKED_INT_VALUE (   CounterDisplayName,
  Value 
)

◆ TRACE_UNCHECKED_MEMORY_VALUE

#define TRACE_UNCHECKED_MEMORY_VALUE (   CounterDisplayName,
  Value 
)

Enumeration Type Documentation

◆ ETraceCounterDisplayHint

Enumerator
TraceCounterDisplayHint_None 
TraceCounterDisplayHint_Memory 

◆ ETraceCounterNameType

Enumerator
TraceCounterNameType_Static 
TraceCounterNameType_Dynamic 
TraceCounterNameType_AllocNameCopy 

◆ ETraceCounterType

Enumerator
TraceCounterType_Int 
TraceCounterType_Float