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/world/level/ChunkPos.h"
8
9// auto generated forward declare list
10// clang-format off
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 class TaskInfo;
21 class TimeAccumulator;
22 struct BucketContext;
23 struct ChunkData;
24 // clang-format on
25
26 // ChunkRecyclerTelemetryData inner types define
27 enum class Bucket : int {
28 GenTimeSavedByCacheSize100 = 0,
29 GenTimeSavedByCacheSize250 = 1,
30 GenTimeSavedByCacheSize500 = 2,
31 GenTimeSavedByCacheSize1000 = 3,
32 GenTimeSavedByCacheSize2000 = 4,
33 GenTimeSavedByCacheSize5000 = 5,
34 GenTimeSavedByCacheSize10000 = 6,
35 GenTimeSavedByCacheSize20000 = 7,
36 GenTimeSavedByCacheSize50000 = 8,
37 GenTimeSavedByCacheSizeINF = 9,
38 Count = 10,
39 };
40
41 class TaskInfo {
42 public:
43 // member variables
44 // NOLINTBEGIN
45 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mTimeStart;
46 // NOLINTEND
47 };
48
50 public:
51 // member variables
52 // NOLINTBEGIN
53 ::ll::TypedStorage<8, 8, uint64> mNanoseconds;
54 // NOLINTEND
55 };
56
58 public:
59 // member variables
60 // NOLINTBEGIN
61 ::ll::TypedStorage<4, 4, ::ChunkRecyclerTelemetryData::Bucket> mBucket;
62 ::ll::TypedStorage<8, 32, ::std::string> mName;
63 ::ll::TypedStorage<8, 8, ::ChunkRecyclerTelemetryData::TimeAccumulator> mTimeAccumulator;
64 ::ll::TypedStorage<8, 64, ::std::function<bool(int64)>> isInRangeInclusive;
65 // NOLINTEND
66 };
67
68 struct ChunkData {
69 public:
70 // member variables
71 // NOLINTBEGIN
72 ::ll::TypedStorage<8, 8, ::ChunkRecyclerTelemetryData::TimeAccumulator> mTimeAccumulator;
73 ::ll::TypedStorage<8, 8, int64> mSequence;
74 // NOLINTEND
75 };
76
77public:
78 // member variables
79 // NOLINTBEGIN
80 ::ll::TypedStorage<8, 24, ::std::vector<::ChunkRecyclerTelemetryData::BucketContext>> mTimeBuckets;
81 ::ll::TypedStorage<8, 16, ::std::map<::ChunkPos, ::ChunkRecyclerTelemetryData::ChunkData>> mChunkCache;
82 ::ll::TypedStorage<8, 8, ::ChunkRecyclerTelemetryData::TimeAccumulator> mTotalTime;
83 ::ll::TypedStorage<8, 8, uint64> mDeletedChunks;
84 ::ll::TypedStorage<8, 8, uint64> mGeneratedChunks;
85 ::ll::TypedStorage<1, 1, bool> mIsLocked;
86 ::ll::TypedStorage<1, 1, bool> mIsLevelStarted;
87 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLevelStartTime;
88 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mDuration;
89 ::ll::TypedStorage<8, 80, ::std::mutex> mMutex;
90 ::ll::TypedStorage<4, 4, int> mCurrentTick;
91 ::ll::TypedStorage<8, 8, uint64> mOuterUpdateCount;
92 ::ll::TypedStorage<8, 8, uint64> mInnerUpdateCount;
93 ::ll::TypedStorage<8, 8, uint64> mChunkRadiusSum;
94 ::ll::TypedStorage<8, 8, uint64> mOverworldPlayerSum;
95 ::ll::TypedStorage<8, 8, uint64> mMaximumOverworldPlayers;
96 ::ll::TypedStorage<8, 8, uint64> mActiveOverworldChunksSum;
97 // NOLINTEND
98
99public:
100 // member functions
101 // NOLINTBEGIN
102#ifdef LL_PLAT_S
104#endif
105
106 MCAPI void _reset();
107
108 MCAPI void endLevel(::Level& level);
109
110#ifdef LL_PLAT_C
111 MCAPI void recordChunkDeleted(::LevelChunk const& lc);
112#endif
113
114 MCAPI void startLevel(::Level const& level);
115
116 MCAPI void tickLevel(::Level const& level);
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122#ifdef LL_PLAT_S
123 MCAPI void* $ctor();
124#endif
125 // NOLINTEND
126};
Definition EnableNonOwnerReferences.h:7
Definition ChunkRecyclerTelemetryData.h:41
Definition ChunkRecyclerTelemetryData.h:49
Definition ChunkRecyclerTelemetryData.h:16
Definition LevelChunk.h:77
Definition Level.h:254
Definition ChunkRecyclerTelemetryData.h:57
Definition ChunkRecyclerTelemetryData.h:68