5#include "Containers/Array.h"
19namespace UE {
namespace Trace {
class FChannel; } }
21#ifndef ENABLE_COOK_STATS
22#define ENABLE_COOK_STATS WITH_EDITOR
26template <
typename T>
struct TDecay;
63 template <
typename KeyType,
typename ValueType>
66 template<
typename KeyType2,
typename ValueType2>
95 template <
typename KeyType,
typename ValueType>
119 template<
typename Func>
131 template <
typename...ArgTypes>
141 template <
typename KeyType>
147 template <
typename KeyType,
typename ValueType>
153 template <
typename KeyType,
typename ValueType,
typename...ArgTypes>
245 void LogStats(FCookStatsManager::AddStatFuncRef
AddStat,
const FString& StatName,
const FString& NodeName,
const TCHAR*
CallName)
const
252 AddStat(StatName, FCookStatsManager::CreateKeyValueArray(
263 TEXT(
"Node"), NodeName
268 LogStat(EHitOrMiss::Hit,
true);
269 LogStat(EHitOrMiss::Miss,
true);
270 LogStat(EHitOrMiss::Hit,
false);
271 LogStat(EHitOrMiss::Miss,
false);
313 , BytesProcessed(
InOther.BytesProcessed)
314 , bIsInGameThread(
InOther.bIsInGameThread)
335 Stats.Accumulate(
HitOrMiss, CallStats::EStatType::Counter, 1l, bIsInGameThread);
337 Stats.Accumulate(
HitOrMiss, CallStats::EStatType::Bytes, BytesProcessed, bIsInGameThread);
378 int64 BytesProcessed = 0;
379 bool bIsInGameThread;
380 bool bCanceled =
false;
382 CallStats::EHitOrMiss
HitOrMiss = CallStats::EHitOrMiss::Miss;
431 void LogStats(FCookStatsManager::AddStatFuncRef
AddStat,
const FString& StatName,
const FString& NodeName)
const
439#define COOK_STAT(...) __VA_ARGS__
443#define UE_INSIGHTS_COOK_PROFILER_VERSION 2
449#if UE_INSIGHTS_COOK_PROFILER_VERSION == 2
451UE_DEPRECATED(5.5,
"TracePackageStat is deprecated, please use TracePackageStatBeginScope and TracePackageStatEndScope instead.")
481#if UE_INSIGHTS_COOK_PROFILER_VERSION == 1
483UE_DEPRECATED(5.5,
"TracePackageStat is deprecated, please use TracePackageStatBeginScope and TracePackageStatEndScope instead.")
512#define UE_SCOPED_COOK_STAT(Name, StatType) \
513 FScopedCookStat PREPROCESSOR_JOIN(__CookTimerScope, __LINE__)(Name.ToUnstableInt(), StatType);
515#define UE_MULTI_SCOPED_COOK_STAT_INIT() \
516 TOptional<FScopedCookStat> __CookStatScope; \
517 FName __PrevPackageName = NAME_None;
519#define UE_MULTI_SCOPED_COOK_STAT(Name, StatType) \
520 if (__PrevPackageName != Name) \
522 __CookStatScope.Emplace(Name.ToUnstableInt(), EPackageEventStatType::LoadPackage); \
523 __PrevPackageName = Name; \
526#define UE_MULTI_SCOPED_COOK_STAT_RESET() \
527 __CookStatScope.Reset(); \
528 __PrevPackageName = NAME_None;
531#define COOK_STAT(...)
532#define UE_SCOPED_COOK_STAT(...)
533#define UE_MULTI_SCOPED_COOK_STAT_INIT(...)
534#define UE_MULTI_SCOPED_COOK_STAT(...)
535#define UE_MULTI_SCOPED_COOK_STAT_RESET(...)
537#define TracePackage(...)
538#define TracePackageStat(...)
539#define TracePackageStatBeginScope(...)
540#define TracePackageStatEndScope(...)
541#define TracePackageAssetClass(...)
542#define ShouldTracePackageInfo(...) false
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define TracePackageStatEndScope(...)
Definition CookStats.h:540
#define TracePackageStat(...)
Definition CookStats.h:538
EPackageEventStatType
Definition CookStats.h:29
@ BeginCacheForCookedPlatformData
@ IsCachedCookedPlatformDataLoaded
#define ShouldTracePackageInfo(...)
Definition CookStats.h:542
#define TracePackageStatBeginScope(...)
Definition CookStats.h:539
#define TracePackage(...)
Definition CookStats.h:537
#define TracePackageAssetClass(...)
Definition CookStats.h:541
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
EStatType
Definition Stats.h:31
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
const TCHAR * LexToString(EAnalyticsRecordEventMode Mode)
Definition IAnalyticsProvider.cpp:5
bool operator<(const FTextFormatString &LHS, const FTextFormatString &RHS)
Definition ITextFormatArgumentModifier.h:147
UE_FORCEINLINE_HINT bool operator!=(const FIndexedPointer &Other) const
Definition LockFreeList.h:76
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
#define UE_TRACE_CHANNEL_EXTERN(ChannelName,...)
Definition Trace.h:448
Definition ThreadSafeCounter64.h:14
void Empty(SizeType Slack=0)
Definition Array.h:2273
Definition AssetRegistryState.h:50
Pair< T1, T2 > MakePair(const T1 &First, const T2 &Second)
Definition Pair.h:45
@ Trace
Definition NetTraceConfig.h:23
constexpr int32 MaxValue
Definition LandscapeDataAccess.h:26
bool operator==(const FCachedAssetKey &A, const FCachedAssetKey &B)
Definition AssetDataMap.h:501
Definition AdvancedWidgetsModule.cpp:13
Definition AndroidPlatformTime.h:18
static uint64 Cycles64()
Definition AndroidPlatformTime.h:34
UE::Core::Private::Decay::TDecayNonReference< typenameTRemoveReference< T >::Type >::Type Type
Definition Decay.h:45
Definition UnrealTemplate.h:462