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 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 public:
69 // member functions
70 // NOLINTBEGIN
71
72 // NOLINTEND
73
74 public:
75 // destructor thunk
76 // NOLINTBEGIN
77 MCFOLD_S void $dtor();
78 // NOLINTEND
79 };
80
81 struct ChunkData {
82 public:
83 // member variables
84 // NOLINTBEGIN
85 ::ll::TypedStorage<8, 8, ::ChunkRecyclerTelemetryData::TimeAccumulator> mTimeAccumulator;
86 ::ll::TypedStorage<8, 8, int64> mSequence;
87 // NOLINTEND
88 };
89
90public:
91 // member variables
92 // NOLINTBEGIN
93 ::ll::TypedStorage<8, 24, ::std::vector<::ChunkRecyclerTelemetryData::BucketContext>> mTimeBuckets;
94 ::ll::TypedStorage<8, 16, ::std::map<::ChunkPos, ::ChunkRecyclerTelemetryData::ChunkData>> mChunkCache;
95 ::ll::TypedStorage<8, 8, ::ChunkRecyclerTelemetryData::TimeAccumulator> mTotalTime;
96 ::ll::TypedStorage<8, 8, uint64> mDeletedChunks;
97 ::ll::TypedStorage<8, 8, uint64> mGeneratedChunks;
98 ::ll::TypedStorage<1, 1, bool> mIsLocked;
99 ::ll::TypedStorage<1, 1, bool> mIsLevelStarted;
100 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLevelStartTime;
101 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mDuration;
102 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mMutex;
103 ::ll::TypedStorage<4, 4, int> mCurrentTick;
104 ::ll::TypedStorage<8, 8, uint64> mOuterUpdateCount;
105 ::ll::TypedStorage<8, 8, uint64> mInnerUpdateCount;
106 ::ll::TypedStorage<8, 8, uint64> mChunkRadiusSum;
107 ::ll::TypedStorage<8, 8, uint64> mOverworldPlayerSum;
108 ::ll::TypedStorage<8, 8, uint64> mMaximumOverworldPlayers;
109 ::ll::TypedStorage<8, 8, uint64> mActiveOverworldChunksSum;
110 // NOLINTEND
111
112public:
113 // virtual functions
114 // NOLINTBEGIN
115#ifdef LL_PLAT_S
116 virtual ~ChunkRecyclerTelemetryData() /*override*/;
117#else // LL_PLAT_C
118 virtual ~ChunkRecyclerTelemetryData() /*override*/ = default;
119#endif
120
121 // NOLINTEND
122
123public:
124 // member functions
125 // NOLINTBEGIN
126 MCAPI void _reset();
127
128 MCAPI void _setIsLocked();
129
130 MCAPI void endLevel(::Level& level);
131
132 MCAPI void recordCacheCheck(::LevelChunk const& lc);
133
134 MCAPI void recordTaskCompleted(::LevelChunk const& lc, ::ChunkRecyclerTelemetryData::TaskInfo const& taskInfo);
135
136 MCAPI void tickLevel(::Level const& level);
137 // NOLINTEND
138
139public:
140 // constructor thunks
141 // NOLINTBEGIN
142 MCAPI_S void* $ctor();
143 // NOLINTEND
144
145public:
146 // destructor thunk
147 // NOLINTBEGIN
148 MCAPI void $dtor();
149 // NOLINTEND
150};
Definition EnableNonOwnerReferences.h:7
Definition Mutex.h:10
Definition ChunkPos.h:11
Definition ChunkRecyclerTelemetryData.h:42
Definition ChunkRecyclerTelemetryData.h:50
Definition ChunkRecyclerTelemetryData.h:17
Definition LevelChunk.h:79
Definition Level.h:249
Definition ChunkRecyclerTelemetryData.h:58
Definition ChunkRecyclerTelemetryData.h:81