UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ITraceController.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Map.h"
9#include "Misc/DateTime.h"
10#include "Misc/Guid.h"
11#include "Algo/Find.h"
12
17{
21 enum class EUpdateType : uint8
22 {
23 Status = 1 << 0,
24 Settings = 1 << 1,
25 ChannelsDesc = 1 << 2,
26 ChannelsStatus = 1 << 3,
28 };
29
40
42 {
43 FChannelPreset(const FString& InName, const FString& InChannels, bool bInIsReadOnly)
44 : Name(InName)
47 {
48 }
49
50 FString Name;
51 FString ChannelList;
53 };
54
66
67 struct FChannel
68 {
70 FString Name;
72 FString Description;
80 };
81
97
103 bool bIsTracing = false;
105 bool bIsPaused = false;
109 FString Endpoint;
124
125 bool HasChannel(FStringView ChannelName) const
126 {
127 for (const auto& ChannelPair : Channels)
128 {
129 FStringView Name (ChannelPair.Value.Name);
130 if (Name.Compare(ChannelName, ESearchCase::IgnoreCase) == 0)
131 {
132 return true;
133 }
134 }
135 return false;
136 }
137};
138
140
141
162{
163public:
164
165 virtual ~ITraceController() = default;
166
172 virtual void SendDiscoveryRequest(const FGuid& SessionId, const FGuid& InstanceId) const = 0;
173
177 virtual void SendDiscoveryRequest() = 0;
178
182 virtual void SendStatusUpdateRequest() = 0;
183
187 virtual void SendChannelUpdateRequest() = 0;
188
192 virtual void SendSettingsUpdateRequest() = 0;
193
198
205
209 virtual bool HasAvailableInstance(const FGuid& InstanceId) = 0;
210
212
218 virtual void WithInstance(FGuid InstanceId, FCallback Func) = 0;
219
225};
226
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ITraceControllerCommands.h:12
Definition ITraceController.h:162
virtual void SendDiscoveryRequest()=0
virtual FStatusRecievedEvent & OnStatusReceived()=0
virtual void SendDiscoveryRequest(const FGuid &SessionId, const FGuid &InstanceId) const =0
virtual void SendChannelUpdateRequest()=0
virtual void SendStatusUpdateRequest()=0
virtual void SendSettingsUpdateRequest()=0
DECLARE_EVENT_ThreeParams(ITraceController, FStatusRecievedEvent, const FTraceStatus &, FTraceStatus::EUpdateType, ITraceControllerCommands &)
virtual ~ITraceController()=default
virtual void WithInstance(FGuid InstanceId, FCallback Func)=0
virtual bool HasAvailableInstance(const FGuid &InstanceId)=0
TFunction< void(const FTraceStatus &, ITraceControllerCommands &)> FCallback
Definition ITraceController.h:211
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
@ IgnoreCase
Definition CString.h:26
Definition DateTime.h:76
Definition Guid.h:109
Definition ITraceController.h:42
FString Name
Definition ITraceController.h:50
FString ChannelList
Definition ITraceController.h:51
FChannelPreset(const FString &InName, const FString &InChannels, bool bInIsReadOnly)
Definition ITraceController.h:43
bool bIsReadOnly
Definition ITraceController.h:52
Definition ITraceController.h:68
bool bEnabled
Definition ITraceController.h:76
FString Description
Definition ITraceController.h:72
bool bReadOnly
Definition ITraceController.h:79
FString Name
Definition ITraceController.h:70
uint32 Id
Definition ITraceController.h:74
Definition ITraceController.h:56
bool bUseWorkerThread
Definition ITraceController.h:58
bool bUseImportantCache
Definition ITraceController.h:60
uint32 TailSizeBytes
Definition ITraceController.h:62
TArray< FChannelPreset > ChannelPresets
Definition ITraceController.h:64
Definition ITraceController.h:83
uint64 MemoryUsed
Definition ITraceController.h:89
uint32 CacheAllocated
Definition ITraceController.h:91
uint64 BytesSent
Definition ITraceController.h:85
uint64 BytesTraced
Definition ITraceController.h:87
uint32 CacheWaste
Definition ITraceController.h:95
uint32 CacheUsed
Definition ITraceController.h:93
Definition ITraceController.h:17
bool bIsTracing
Definition ITraceController.h:103
ETraceSystemStatus
Definition ITraceController.h:31
TMap< uint32, FChannel > Channels
Definition ITraceController.h:117
FDateTime StatusTimestamp
Definition ITraceController.h:121
FGuid TraceGuid
Definition ITraceController.h:113
FSettings Settings
Definition ITraceController.h:115
FGuid SessionId
Definition ITraceController.h:99
FString Endpoint
Definition ITraceController.h:109
bool bIsPaused
Definition ITraceController.h:105
FGuid SessionGuid
Definition ITraceController.h:111
ETraceSystemStatus TraceSystemStatus
Definition ITraceController.h:123
bool bAreStatNamedEventsEnabled
Definition ITraceController.h:107
EUpdateType
Definition ITraceController.h:22
FGuid InstanceId
Definition ITraceController.h:101
bool HasChannel(FStringView ChannelName) const
Definition ITraceController.h:125
FStats Stats
Definition ITraceController.h:119