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
32 ::ll::TypedStorage<8, 8, uint64> mNanoseconds;
33 // NOLINTEND
34 };
35
36 struct ChunkData {
37 public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<8, 8, ::ChunkRecyclerTelemetryData::TimeAccumulator> mTimeAccumulator;
41 ::ll::TypedStorage<8, 8, int64> mSequence;
42 // NOLINTEND
43 };
44
45 enum class Bucket : int {
46 GenTimeSavedByCacheSize100 = 0,
47 GenTimeSavedByCacheSize250 = 1,
48 GenTimeSavedByCacheSize500 = 2,
49 GenTimeSavedByCacheSize1000 = 3,
50 GenTimeSavedByCacheSize2000 = 4,
51 GenTimeSavedByCacheSize5000 = 5,
52 GenTimeSavedByCacheSize10000 = 6,
53 GenTimeSavedByCacheSize20000 = 7,
54 GenTimeSavedByCacheSize50000 = 8,
55 GenTimeSavedByCacheSizeINF = 9,
56 Count = 10,
57 };
58
60 public:
61 // member variables
62 // NOLINTBEGIN
63 ::ll::TypedStorage<4, 4, ::ChunkRecyclerTelemetryData::Bucket> mBucket;
64 ::ll::TypedStorage<8, 32, ::std::string> mName;
65 ::ll::TypedStorage<8, 8, ::ChunkRecyclerTelemetryData::TimeAccumulator> mTimeAccumulator;
66 ::ll::TypedStorage<8, 64, ::std::function<bool(int64)>> isInRangeInclusive;
67 // NOLINTEND
68
69 public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI ~BucketContext();
73 // NOLINTEND
74
75 public:
76 // destructor thunk
77 // NOLINTBEGIN
78 MCFOLD void $dtor();
79 // NOLINTEND
80 };
81
82 class TaskInfo {
83 public:
84 // member variables
85 // NOLINTBEGIN
86 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mTimeStart;
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 // vIndex: 0
116 virtual ~ChunkRecyclerTelemetryData() /*override*/ = default;
117 // NOLINTEND
118
119public:
120 // member functions
121 // NOLINTBEGIN
123
124 MCAPI void _reset();
125
126 MCAPI void _setIsLocked();
127
128 MCAPI void endLevel(::Level& level);
129
130 MCAPI void recordCacheCheck(::LevelChunk const& lc);
131
132 MCAPI void recordChunkDeleted(::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 void* $ctor();
143 // NOLINTEND
144
145public:
146 // vftables
147 // NOLINTBEGIN
148 MCNAPI static void** $vftable();
149 // NOLINTEND
150};
Definition EnableNonOwnerReferences.h:7
Definition ChunkPos.h:11
Definition ChunkRecyclerTelemetryData.h:82
Definition ChunkRecyclerTelemetryData.h:28
Definition ChunkRecyclerTelemetryData.h:17
static MCAPI void ** $vftable()
Definition LevelChunk.h:78
Definition Level.h:247
Definition ChunkRecyclerTelemetryData.h:59
Definition ChunkRecyclerTelemetryData.h:36