UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TrackedActivity.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
8
14{
15 None,
16 Red,
17 Yellow,
18 Green,
19 Inherit,
20};
21
28class FTrackedActivity : public TSharedFromThis<FTrackedActivity>
29{
30public:
36 enum class EType
37 {
39 Info,
40 Debug,
41 };
42
44
52 CORE_API FTrackedActivity(const TCHAR* Name, const TCHAR* Status = TEXT(""), ELight Light = ELight::None, EType Type = EType::Activity, int32 SortValue = 100);
53
56
57
62 CORE_API uint32 Push(const TCHAR* Status, bool bShowParent = false, ELight Light = ELight::Inherit);
63 CORE_API void Pop();
64
66 CORE_API void Update(const TCHAR* Status, uint32 Index = ~0u);
67 CORE_API void Update(const TCHAR* Status, ELight Light, uint32 Index = ~0u);
69
70
76
79
80
81
82 struct FInfo
83 {
84 const TCHAR* Name;
85 const TCHAR* Status;
86 ELight Light; // Can not be "Inherit"
89 uint32 Id; // Unique Id for Activity (Is thread safe counter starting at 1)
90 };
91
95 static CORE_API void TraverseActivities(const TFunction<void(const FInfo& Info)>& Func);
96
97
98
100 enum class EEvent : int32
101 {
102 Added = 1,
103 Removed = 2,
104 Changed = 3
105 };
106
110 static CORE_API void RegisterEventListener(TUniqueFunction<void(EEvent Event, const FInfo& Info)>&& Func, uint32 MaxDepth = ~0u);
111 static CORE_API void UnregisterEventListener();
112
113
114private:
115 FTrackedActivity(const FTrackedActivity& O) = delete;
116 FTrackedActivity& operator=(const FTrackedActivity& O) = delete;
117
118 void* Internal;
119};
120
121
126{
127public:
128 CORE_API FTrackedActivityScope(FTrackedActivity& Activity, const TCHAR* Status, bool bShowParent = false, FTrackedActivity::ELight Light = FTrackedActivity::ELight::Inherit);
130private:
131 FTrackedActivity& Activity;
132};
133
134
138#ifndef UE_ENABLE_TRACKED_IO
139 #if UE_BUILD_SHIPPING
140 #define UE_ENABLE_TRACKED_IO 0
141 #define UE_SCOPED_IO_ACTIVITY(...)
142 #else
143 #define UE_ENABLE_TRACKED_IO 1
144 #define UE_SCOPED_IO_ACTIVITY(...) FTrackedActivityScope ANONYMOUS_VARIABLE(IOActivity_)(FTrackedActivity::GetIOActivity(), __VA_ARGS__);
145 #endif
146#endif
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
ETrackedActivityLight
Definition TrackedActivity.h:14
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition TrackedActivity.h:126
CORE_API ~FTrackedActivityScope()
Definition TrackedActivity.cpp:253
Definition TrackedActivity.h:29
CORE_API ~FTrackedActivity()
Definition TrackedActivity.cpp:191
static CORE_API void UnregisterEventListener()
Definition TrackedActivity.cpp:238
EEvent
Definition TrackedActivity.h:101
CORE_API void Pop()
Definition TrackedActivity.cpp:201
static CORE_API FTrackedActivity & GetIOActivity()
Definition TrackedActivity.cpp:227
EType
Definition TrackedActivity.h:37
static CORE_API void RegisterEventListener(TUniqueFunction< void(EEvent Event, const FInfo &Info)> &&Func, uint32 MaxDepth=~0u)
Definition TrackedActivity.cpp:233
static CORE_API void TraverseActivities(const TFunction< void(const FInfo &Info)> &Func)
Definition TrackedActivity.cpp:243
static CORE_API FTrackedActivity & GetEngineActivity()
Definition TrackedActivity.cpp:221
CORE_API uint32 Push(const TCHAR *Status, bool bShowParent=false, ELight Light=ELight::Inherit)
Definition TrackedActivity.cpp:196
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:1640
Definition FunctionFwd.h:19
Definition ByteSwap.h:14
U16 Index
Definition radfft.cpp:71
Definition TrackedActivity.h:83
EType Type
Definition TrackedActivity.h:87
uint32 Id
Definition TrackedActivity.h:89
ELight Light
Definition TrackedActivity.h:86
const TCHAR * Status
Definition TrackedActivity.h:85
const TCHAR * Name
Definition TrackedActivity.h:84
int32 SortValue
Definition TrackedActivity.h:88