UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
InterchangeEngineLogPrivate.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6
8
9#define INTERCHANGE_TRACE_ASYNCHRONOUS_TASK_ENABLED 0
10
11#if INTERCHANGE_TRACE_ASYNCHRONOUS_TASK_ENABLED
12
14{
15public:
17 : TaskName(InTaskName)
18 {
19 StartTime = FPlatformTime::Seconds();
20 double IntegerPart;
21 double FractionalPart = FMath::Modf(StartTime, &IntegerPart);
22 TaskID = FractionalPart * 1000000000;
23 FString MessageStr = FString::FromInt(TaskID)
24 + TEXT(" ")
25 + TaskName
26 + TEXT(" Execute Start on ")
28
30 }
31
33 {
34 const int32 DeltaTime = (FPlatformTime::Seconds() - StartTime)*1000;
35 FString MessageStr = FString::FromInt(TaskID)
36 + TEXT(" ")
37 + TaskName
38 + TEXT(" Execute End on ")
40 + TEXT(" Time: ")
41 + FString::FromInt(DeltaTime)
42 + TEXT("ms");
43
45 }
46private:
47 double StartTime = 0;
48 int32 TaskID = 0;
49 FString TaskName;
50 const FString TraceAsyncGameThreadStr = TEXT("Game Thread");
51 const FString TraceAsyncBackgroundThreadStr = TEXT("Background Thread");
52};
53
54#define INTERCHANGE_TRACE_ASYNCHRONOUS_TASK(TaskName) \
55FScopeInterchangeTraceAsyncTask ScopeTraceAsynTask(TEXT(#TaskName));
56
57#endif //INTERCHANGE_TRACE_ASYNCHRONOUS_TASK_ENABLED
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
static double Seconds()
Definition AndroidPlatformTime.h:20