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