UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnalyticsProviderETEventCache.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Containers/Array.h"
8#include "CoreMinimal.h"
9#include "CoreTypes.h"
10#include "HAL/CriticalSection.h"
11#include "Misc/DateTime.h"
12#include "Misc/ScopeLock.h"
13#include "Templates/Function.h"
15
26{
27public:
36
41 ANALYTICSET_API void AddToCache(FString EventName, const TArray<FAnalyticsEventAttribute>& Attributes);
42 ANALYTICSET_API void AddToCache(FString EventName);
43
50
55
60
66
68 UE_DEPRECATED(4.25, "This method has been deprecated, use FlushCacheUTF8() instead.")
70
73
77 ANALYTICSET_API TArray<uint8> CreateImmediatePayload(const FString& EventName, const TArray<FAnalyticsEventAttribute>& Attributes) const;
78
82 ANALYTICSET_API bool CanFlush() const;
83
90
95
101
104
105 friend class Lock;
106
108 class Lock
109 {
110 public:
112 : ScopedLock(EventCache.CachedEventsCS) {}
113
114 private:
116 };
117
118 static ANALYTICSET_API void OnStartupModule();
119
120private:
121 ANALYTICSET_API void QueueFlush();
122
124
128 struct FAnalyticsEventEntry
129 {
131 FString EventName;
133 FDateTime TimeStamp;
135 int32 DateOffsetByteOffset;
137 int32 EventSizeChars;
141 FAnalyticsEventEntry(FString&& InEventName, int32 InDateOffsetByteOffset, int32 InEventSizeChars)
142 : EventName(MoveTemp(InEventName))
143 , TimeStamp(FDateTime::UtcNow())
144 , DateOffsetByteOffset(InDateOffsetByteOffset)
145 , EventSizeChars(InEventSizeChars)
146 {}
147 };
148
149 int32 MaximumPayloadSize;
150 int32 PreallocatedPayloadSize;
151
156 TArray<FAnalyticsEventEntry> CachedEventEntries;
157 TArray<uint8> CachedEventUTF8Stream;
158 TArray<FAnalyticsEventAttribute> CachedDefaultAttributes;
159 TArray<uint8> CachedDefaultAttributeUTF8Stream;
160 TArray<TArray<uint8>> FlushQueue;
161
163 mutable FTransactionallySafeCriticalSection CachedEventsCS;
164};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define UE_NODISCARD_CTOR
Definition Platform.h:761
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition AnalyticsProviderETEventCache.h:109
UE_NODISCARD_CTOR Lock(FAnalyticsProviderETEventCache &EventCache)
Definition AnalyticsProviderETEventCache.h:111
Definition AnalyticsProviderETEventCache.h:26
ANALYTICSET_API void SetPreallocatedPayloadSize(int32 InSetPreallocatedPayloadSize)
Definition AnalyticsProviderETEventCache.cpp:462
ANALYTICSET_API void SetDefaultAttributes(TArray< FAnalyticsEventAttribute > &&DefaultAttributes)
Definition AnalyticsProviderETEventCache.cpp:278
ANALYTICSET_API FString FlushCache(SIZE_T *OutEventCount=nullptr)
Definition AnalyticsProviderETEventCache.cpp:316
ANALYTICSET_API TArray< uint8 > CreateImmediatePayload(const FString &EventName, const TArray< FAnalyticsEventAttribute > &Attributes) const
Definition AnalyticsProviderETEventCache.cpp:349
ANALYTICSET_API bool HasFlushesQueued() const
Definition AnalyticsProviderETEventCache.cpp:451
ANALYTICSET_API void AddToCache(FString EventName, const TArray< FAnalyticsEventAttribute > &Attributes)
Definition AnalyticsProviderETEventCache.cpp:220
ANALYTICSET_API FAnalyticsEventAttribute GetDefaultAttribute(int32 AttributeIndex) const
Definition AnalyticsProviderETEventCache.cpp:310
ANALYTICSET_API TArray< uint8 > FlushCacheUTF8()
Definition AnalyticsProviderETEventCache.cpp:328
ANALYTICSET_API int32 GetDefaultAttributeCount() const
Definition AnalyticsProviderETEventCache.cpp:304
ANALYTICSET_API int GetNumCachedEvents() const
Definition AnalyticsProviderETEventCache.cpp:456
ANALYTICSET_API bool CanFlush() const
Definition AnalyticsProviderETEventCache.cpp:445
ANALYTICSET_API TArray< FAnalyticsEventAttribute > GetDefaultAttributes() const
Definition AnalyticsProviderETEventCache.cpp:298
ANALYTICSET_API int32 GetSetPreallocatedPayloadSize() const
Definition AnalyticsProviderETEventCache.cpp:480
static ANALYTICSET_API void OnStartupModule()
Definition AnalyticsProviderETEventCache.cpp:190
Definition Array.h:670
Definition SharedPointer.h:153
Definition ScopeLock.h:21
Definition AnalyticsEventAttribute.h:48
Definition DateTime.h:76