UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
EngineAnalyticsSessionSummary.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Misc/DateTime.h"
7#include "Misc/Optional.h"
8#include "Misc/Timespan.h"
9
12struct FUserActivity;
13
18{
19public:
26
29
31 ENGINE_API void Tick(float DeltaTime);
32
34 ENGINE_API void Shutdown();
35
37 void SetPersistPeriod(const FTimespan& Period) { PersistPeriod = Period; }
38
40 FTimespan GetPersistPeriod() const { return PersistPeriod; }
41
44
45protected:
47 virtual void ShutdownInternal() {}
48
50 virtual bool UpdateSessionProgressInternal(bool bCrashing) { return false; }
51
53 IAnalyticsPropertyStore* GetStore() { return Store.Get(); }
54
55private:
57 ENGINE_API void UpdateSessionProgress(bool bFlushAsync = true, const FTimespan& FlushTimeout = FTimespan::Zero(), bool bCrashing = false);
58
60 ENGINE_API void OnCrashing();
61
63 ENGINE_API void OnTerminate();
64
66 ENGINE_API void OnUserLoginChanged(bool bLoggingIn, int32, int32);
67
69 ENGINE_API void OnUserActivity(const FUserActivity& UserActivity);
70
72 ENGINE_API void OnVanillaStateChanged(bool bIsVanilla);
73
75 ENGINE_API bool UpdateExternalProcessReporterState(bool bQuickCheck);
76
78 ENGINE_API bool UpdateDebuggerStates();
79
80private:
83
85 FDateTime SessionStartTimeUtc;
86
88 double SessionStartTimeSecs;
89
91 uint64 CurrSessionTickCount = 0;
92
94 uint32 CrcProcessId = 0;
95
97 FTimespan PersistPeriod;
98
100 double NextPersistTimeSeconds = 0.0;
101
103 TOptional<int32> CrcExitCode;
104
106 bool bShutdown = false;
107
109 bool bDebuggerIgnored = false;
110
112 bool bWasEverDebugged = false;
113};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition EngineAnalyticsSessionSummary.h:18
virtual ~FEngineAnalyticsSessionSummary()=default
virtual void ShutdownInternal()
Definition EngineAnalyticsSessionSummary.h:47
void SetPersistPeriod(const FTimespan &Period)
Definition EngineAnalyticsSessionSummary.h:37
IAnalyticsPropertyStore * GetStore()
Definition EngineAnalyticsSessionSummary.h:53
ENGINE_API void LowDriveSpaceDetected()
Definition EngineAnalyticsSessionSummary.cpp:308
FTimespan GetPersistPeriod() const
Definition EngineAnalyticsSessionSummary.h:40
virtual bool UpdateSessionProgressInternal(bool bCrashing)
Definition EngineAnalyticsSessionSummary.h:50
ENGINE_API void Shutdown()
Definition EngineAnalyticsSessionSummary.cpp:226
Definition IAnalyticsPropertyStore.h:14
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition SharedPointer.h:1065
Definition DateTime.h:76
Definition Timespan.h:76
static FTimespan Zero()
Definition Timespan.h:747
Definition EngineTypes.h:4199
Definition Optional.h:131