LeviLamina
Loading...
Searching...
No Matches
ChunkRecyclerTelemetryData.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7
8// auto generated forward declare list
9// clang-format off
10class ChunkPos;
11class Level;
12class LevelChunk;
13namespace Bedrock::Threading { class Mutex; }
14// clang-format on
15
17public:
18 // ChunkRecyclerTelemetryData inner types declare
19 // clang-format off
20 struct BucketContext;
21 struct ChunkData;
22 class TaskInfo;
23 class TimeAccumulator;
24 // clang-format on
25
26 // ChunkRecyclerTelemetryData inner types define
28 public:
29 // member variables
30 // NOLINTBEGIN
32 // NOLINTEND
33
34 public:
35 // prevent constructor by default
36 TimeAccumulator& operator=(TimeAccumulator const&);
39 };
40
41 struct ChunkData {
42 public:
43 // member variables
44 // NOLINTBEGIN
47 // NOLINTEND
48
49 public:
50 // prevent constructor by default
51 ChunkData& operator=(ChunkData const&);
52 ChunkData(ChunkData const&);
53 ChunkData();
54 };
55
56 enum class Bucket : int {
57 GenTimeSavedByCacheSize100 = 0,
58 GenTimeSavedByCacheSize250 = 1,
59 GenTimeSavedByCacheSize500 = 2,
60 GenTimeSavedByCacheSize1000 = 3,
61 GenTimeSavedByCacheSize2000 = 4,
62 GenTimeSavedByCacheSize5000 = 5,
63 GenTimeSavedByCacheSize10000 = 6,
64 GenTimeSavedByCacheSize20000 = 7,
65 GenTimeSavedByCacheSize50000 = 8,
66 GenTimeSavedByCacheSizeINF = 9,
67 Count = 10,
68 };
69
71 public:
72 // member variables
73 // NOLINTBEGIN
78 // NOLINTEND
79
80 public:
81 // prevent constructor by default
84
85 public:
86 // member functions
87 // NOLINTBEGIN
88 MCAPI ::ChunkRecyclerTelemetryData::BucketContext&
90
91 MCAPI ~BucketContext();
92 // NOLINTEND
93
94 public:
95 // destructor thunk
96 // NOLINTBEGIN
97 MCFOLD void $dtor();
98 // NOLINTEND
99 };
100
101 class TaskInfo {
102 public:
103 // member variables
104 // NOLINTBEGIN
106 // NOLINTEND
107
108 public:
109 // prevent constructor by default
110 TaskInfo& operator=(TaskInfo const&);
111 TaskInfo(TaskInfo const&);
112 TaskInfo();
113 };
114
115public:
116 // member variables
117 // NOLINTBEGIN
118 ::ll::TypedStorage<8, 24, ::std::vector<::ChunkRecyclerTelemetryData::BucketContext>> mTimeBuckets;
119 ::ll::TypedStorage<8, 16, ::std::map<::ChunkPos, ::ChunkRecyclerTelemetryData::ChunkData>> mChunkCache;
120 ::ll::TypedStorage<8, 8, ::ChunkRecyclerTelemetryData::TimeAccumulator> mTotalTime;
121 ::ll::TypedStorage<8, 8, uint64> mDeletedChunks;
122 ::ll::TypedStorage<8, 8, uint64> mGeneratedChunks;
123 ::ll::TypedStorage<1, 1, bool> mIsLocked;
124 ::ll::TypedStorage<1, 1, bool> mIsLevelStarted;
125 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLevelStartTime;
126 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mDuration;
127 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mMutex;
128 ::ll::TypedStorage<4, 4, int> mCurrentTick;
129 ::ll::TypedStorage<8, 8, uint64> mOuterUpdateCount;
130 ::ll::TypedStorage<8, 8, uint64> mInnerUpdateCount;
131 ::ll::TypedStorage<8, 8, uint64> mChunkRadiusSum;
132 ::ll::TypedStorage<8, 8, uint64> mOverworldPlayerSum;
133 ::ll::TypedStorage<8, 8, uint64> mMaximumOverworldPlayers;
134 ::ll::TypedStorage<8, 8, uint64> mActiveOverworldChunksSum;
135 // NOLINTEND
136
137public:
138 // virtual functions
139 // NOLINTBEGIN
140 // vIndex: 0
141 virtual ~ChunkRecyclerTelemetryData() /*override*/ = default;
142 // NOLINTEND
143
144public:
145 // member functions
146 // NOLINTBEGIN
148
149 MCAPI void _reset();
150
151 MCAPI void _setIsLocked();
152
153 MCAPI void endLevel(::Level& level);
154
155 MCAPI void recordCacheCheck(::LevelChunk const& lc);
156
157 MCAPI void recordChunkDeleted(::LevelChunk const& lc);
158
159 MCAPI void recordTaskCompleted(::LevelChunk const& lc, ::ChunkRecyclerTelemetryData::TaskInfo const& taskInfo);
160
161 MCAPI void tickLevel(::Level const& level);
162 // NOLINTEND
163
164public:
165 // constructor thunks
166 // NOLINTBEGIN
167 MCAPI void* $ctor();
168 // NOLINTEND
169
170public:
171 // destructor thunk
172 // NOLINTBEGIN
173
174 // NOLINTEND
175
176public:
177 // vftables
178 // NOLINTBEGIN
179 MCAPI static void** $vftable();
180 // NOLINTEND
181};
Definition EnableNonOwnerReferences.h:7
Definition ChunkPos.h:11
Definition ChunkRecyclerTelemetryData.h:101
Definition ChunkRecyclerTelemetryData.h:27
Definition ChunkRecyclerTelemetryData.h:16
Definition LevelChunk.h:73
Definition Level.h:234
Definition ChunkRecyclerTelemetryData.h:70
Definition ChunkRecyclerTelemetryData.h:41
Definition Alias.h:14