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