UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IoDispatcherFilesystemStats.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Ticker.h"
8
9#define UE_IO_DISPATCHER_FILESYSTEM_STATS_ENABLED (COUNTERSTRACE_ENABLED || CSV_PROFILER_STATS)
10
11namespace UE
12{
13
14#if UE_IO_DISPATCHER_FILESYSTEM_STATS_ENABLED
15class FIoDispatcherFilesystemStats
16{
17 struct FFileReadInfo
18 {
19 uint64 FileHandle = 0;
21 };
22
23public:
26 CORE_API bool CsvTick(float DeltaTime);
27 CORE_API void OnReadRequestsQueued(uint64 ByteCount, uint64 ReadCount);
30 CORE_API void OnReadRequestsCompleted(uint64 ByteCount, uint64 ReadCount);
34 CORE_API void OnBlockCacheStore(uint64 NumBytes);
35 CORE_API void OnBlockCacheHit(uint64 NumBytes);
36 CORE_API void OnBlockCacheMiss(uint64 NumBytes);
37 CORE_API void OnTocMounted(uint64 AllocatedSize);
38 CORE_API void OnTocUnmounted(uint64 AllocatedSize);
41
42private:
43 void OnSequentialRead();
45 void OnHandleChangeSeek();
46
47#if COUNTERSTRACE_ENABLED
48 FCountersTrace::FCounterAtomicInt QueuedReadRequestsSizeCounter;
49 FCountersTrace::FCounterInt CompletedReadRequestsSizeCounter;
50 FCountersTrace::FCounterInt QueuedCompressedSizeCounter;
51 FCountersTrace::FCounterInt QueuedUncompressedSizeCounter;
52 FCountersTrace::FCounterInt CompletedCompressedSizeCounter;
53 FCountersTrace::FCounterInt CompletedUncompressedSizeCounter;
54 FCountersTrace::FCounterInt FileSystemSeeksTotalDistanceCounter;
55 FCountersTrace::FCounterInt FileSystemSeeksForwardCountCounter;
56 FCountersTrace::FCounterInt FileSystemSeeksBackwardCountCounter;
57 FCountersTrace::FCounterInt FileSystemSeeksChangeHandleCountCounter;
58 FCountersTrace::FCounterInt FileSystemCompletedRequestsSizeCounter;
59 FCountersTrace::FCounterInt BlockCacheStoredSizeCounter;
60 FCountersTrace::FCounterInt BlockCacheHitSizeCounter;
61 FCountersTrace::FCounterInt BlockCacheMissedSizeCounter;
62 FCountersTrace::FCounterInt ScatteredSizeCounter;
63 FCountersTrace::FCounterInt TocMemoryCounter;
64 FCountersTrace::TCounter<std::atomic<int64>, TraceCounterType_Int> AvailableBuffersCounter;
65#endif
66#if CSV_PROFILER_STATS
67 std::atomic_uint64_t QueuedFilesystemReadBytes = 0;
68 std::atomic_uint64_t QueuedFilesystemReads = 0;
72#endif
73 FTSTicker::FDelegateHandle TickerHandle;
75};
76
77#else
101
102#endif // UE_IO_DISPATCHER_FILESYSTEM_STATS_ENABLED
103
104} // namesapce UE
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
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
@ TraceCounterType_Int
Definition CountersTrace.h:26
#define MAX_uint64
Definition NumericLimits.h:22
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
Definition IoDispatcherFilesystemStats.h:79
void OnBufferReleased()
Definition IoDispatcherFilesystemStats.h:98
void OnBlockCacheHit(uint64 NumBytes)
Definition IoDispatcherFilesystemStats.h:91
void OnReadRequestsQueued(uint64 ByteCount, uint64 ReadCount)
Definition IoDispatcherFilesystemStats.h:83
FIoDispatcherFilesystemStats()
Definition IoDispatcherFilesystemStats.h:81
void OnBlockCacheStore(uint64 NumBytes)
Definition IoDispatcherFilesystemStats.h:90
void OnFilesystemReadStarted(uint64 FileHandle, uint64 Offset, uint64 Size)
Definition IoDispatcherFilesystemStats.h:84
void OnBytesScattered(int64 BytesScattered)
Definition IoDispatcherFilesystemStats.h:89
void OnSequentialRead()
Definition IoDispatcherFilesystemStats.h:93
void OnHandleChangeSeek()
Definition IoDispatcherFilesystemStats.h:95
void OnBufferAllocated()
Definition IoDispatcherFilesystemStats.h:99
void OnFilesystemReadCompleted(uint64 FileHandle, uint64 Offset, uint64 Size)
Definition IoDispatcherFilesystemStats.h:85
void OnTocMounted(uint64 AllocatedSize)
Definition IoDispatcherFilesystemStats.h:96
~FIoDispatcherFilesystemStats()
Definition IoDispatcherFilesystemStats.h:82
void OnSeek(uint64 LastOffset, uint64 NewOffset)
Definition IoDispatcherFilesystemStats.h:94
void OnReadRequestsCompleted(uint64 ByteCount, uint64 ReadCount)
Definition IoDispatcherFilesystemStats.h:86
void OnDecompressComplete(uint64 CompressedSize, uint64 UncompressedSize)
Definition IoDispatcherFilesystemStats.h:88
void OnDecompressQueued(uint64 CompressedSize, uint64 UncompressedSize)
Definition IoDispatcherFilesystemStats.h:87
void OnBlockCacheMiss(uint64 NumBytes)
Definition IoDispatcherFilesystemStats.h:92
void OnTocUnmounted(uint64 AllocatedSize)
Definition IoDispatcherFilesystemStats.h:97
Definition AdvancedWidgetsModule.cpp:13